Skip to content
streamneo.
Streaming Settings12 min read

How to Transcode Mixed-Resolution Videos for a YouTube Live FFmpeg Playlist

Inspect mixed-resolution clips, choose a stable YouTube Live profile, and normalise aspect ratio, audio and colour before encoding.

sn.
StreamNeoPublished 4 October 2026
Worth sharing?

A mixed-resolution playlist needs a consistent encoded output before it reaches YouTube Live. Inspect each source first, then normalise its dimensions, timing, audio and colour deliberately; there is no single resolution or frame rate that suits every library or machine.

The practical workflow is inspect, choose one output profile, apply a suitable per-source filter chain, and test the joined programme. Fit-and-pad preserves the whole image, while fill-and-crop trades some edges for a full canvas.

Why mixed-resolution playlists need normalisation

A live encoder sends one continuous video format to YouTube, even if the files behind the programme vary. A playlist might include a 720p landscape clip, a phone recording with a different frame rate, and a square graphic. Sending those sources through a shared chain without checking them can produce unexpected scaling, borders, timing changes, colour shifts or audio discontinuities.

A fixed output canvas gives the encoder stable dimensions and a predictable format. It does not mean that every source should be treated identically before encoding. One clip may need deinterlacing, another may need HDR-to-SDR conversion, and a third may have non-square pixels. Normalisation is the stage where those differences are addressed, not ignored.

There are two separate decisions: how the clips are prepared and how they are joined. FFmpeg’s FAQ on concatenation distinguishes the concat filter, concat demuxer and concat protocol. The concat filter is designed for concatenation with re-encoding, which is usually the relevant path when inputs need normalisation. The demuxer can avoid re-encoding when input streams meet its compatibility constraints, but it does not make dissimilar files compatible by itself.

If the aim is a scheduled sequence of clips, it helps to plan the order independently of the encoding profile. The guide to looping multiple MP4 files on a 24/7 stream covers the playlist problem; this workflow focuses on making those sources behave consistently at the encoder.

Inspect dimensions, frame rate and source metadata

Make an inventory before writing a filter. For every file, record width and height, frame rate, sample aspect ratio, scan type, pixel format, colour metadata, audio codec and channel layout. These are not merely catalogue details: they determine whether a filter chain can preserve the picture correctly and whether audio and video can transition cleanly.

Use FFmpeg’s probing tools, such as ffprobe, to inspect streams. Save the results alongside the files or in a spreadsheet. Do not rely only on a filename like final_1080.mp4; it may not describe the encoded dimensions, display aspect ratio, scan method or colour characteristics. Check representative frames as well, because metadata can be absent or wrong.

Frame rate deserves separate attention. A source can be constant-frame-rate or variable-frame-rate, and two clips labelled with similar rates may have different timestamp behaviour. Decide how the output profile will handle that before concatenating. Audio should also be noted: stereo and mono sources, differing sample rates, and multichannel layouts need explicit handling if the output is meant to remain consistent.

Look carefully for interlaced sources and HDR material. Interlaced footage may show combing during motion if it is treated as progressive. HDR footage may look washed out or clipped if its values are simply re-labelled as SDR. Pixel format matters too: a format supported by a source decoder may not be accepted by the intended encoder or ingest workflow.

This check should produce a small per-file decision list: keep as-is, deinterlace, convert colour, adjust sample aspect ratio, resample audio, or investigate further. If a clip’s metadata is unclear, test it before assigning it to the shared processing path. The FFmpeg filters documentation explains the available filters and options, but your installed build and chosen encoder still determine what is usable.

Choose one consistent output profile

Choose a single output profile for the whole live programme, but choose it for a reason. The profile includes canvas width and height, frame rate, video codec and pixel format, audio format, bitrate and keyframe interval. A channel built from static devotional artwork may have different needs from a local-news loop with camera movement. Your available encoding capacity and network connection also constrain the choice.

YouTube’s current live encoder settings list H.264, H.265/HEVC and AV1 video options over RTMP/RTMPS, support frame rates up to 60 fps, recommend CBR, and recommend a two-second keyframe interval that should not exceed four seconds. The same guidance recommends Rec. 709 for SDR and square pixels. Check that page before production because ingest guidance can change.

For H.264, YouTube’s published recommended live ingest bitrates include 8 Mbps for 720p at either 30 or 60 fps, 14 Mbps for 1080p at 30 fps, and 17 Mbps for 1080p at 60 fps, as listed on YouTube’s site in October 2026. These are ingest recommendations, not measurements of your stream or guarantees of delivery. YouTube publishes separate values for other codecs and resolutions. Choose from the live-ingest table for your selected profile, leave network headroom and test at the planned bitrate rather than copying upload settings.

Profile decision What to compare Practical consequence
Canvas dimensions Source detail, viewing purpose and encoder capacity A larger canvas can retain more detail but takes more encoding and delivery capacity.
Frame rate Source motion, source timestamps and YouTube guidance A fixed output rate makes the stream consistent, but converting rates can duplicate or drop frames.
Codec and encoder YouTube ingest options and available software or hardware encoder Hardware support and encoder constraints vary; verify the installed build and output.
Fit or crop Whether every edge must remain visible or the frame must be filled Fit can add bars; crop can remove image content.
Colour and audio SDR/HDR sources and channel layout Conversion is a separate operation, not something solved by resizing.

Keep this profile fixed as the playlist advances. If you are running the encoder on a small computer, test sustained encoding load with representative motion rather than assuming that a profile which works for a short clip will run continuously. The considerations in choosing a VPS location for an FFmpeg YouTube stream are useful when network path and hosting location are part of your setup, but they do not determine the right canvas or rate.

Preserve aspect ratio on a shared canvas

For a fixed canvas, decide whether to fit or crop each source. The common fit-and-pad approach scales the source down as needed while retaining its aspect ratio, then pads the remaining space to the target width and height. In FFmpeg, the scale option force_original_aspect_ratio=decrease can perform the fit portion. Padding is a separate step that supplies the rest of the canvas.

Conceptually, the filter chain is:

scale=TARGET_W:TARGET_H:force_original_aspect_ratio=decrease,
pad=TARGET_W:TARGET_H:(ow-iw)/2:(oh-ih)/2

This is a pattern, not a guaranteed drop-in command. Confirm the syntax and behaviour against your FFmpeg version, input files and encoder. Some encoders require even dimensions; set compatible target dimensions and check the resulting stream. FFmpeg’s scale documentation describes force_divisible_by, which can constrain dimensions when aspect-ratio enforcement is used, with a possible small change to the resulting ratio.

Fit-and-pad is a sound editorial choice for artwork, captions, logos or footage where cutting off the edges would be undesirable. A portrait phone clip on a landscape canvas will leave substantial unused space at the sides, but the whole image remains visible. You can select a pad colour or use a designed background, provided the output remains consistent.

Fill-and-crop is appropriate when the full canvas matters more than retaining every edge. It scales until the canvas is covered and crops overflow. Check each clip’s framing first: a face, product label or lower-third caption near an edge may disappear. Stretching to fill the canvas changes geometry, making circles or people look wider or narrower; avoid it unless that distortion is intentional.

Sample aspect ratio is another reason to inspect sources. The display aspect ratio depends on both coded dimensions and sample aspect ratio, so a file with unusual pixel geometry can look different from its raw width and height suggest. FFmpeg documents reset_sar for scaling while accounting for display aspect ratio and resetting sample aspect ratio to 1:1. Verify the displayed result rather than assuming dimensions alone describe the picture.

Handle interlaced, HDR and unusual sources

Do not apply the same video filters to every source until you know what the sources contain. Interlaced footage needs a deliberate deinterlacing decision before it is treated as progressive output. The right method and timing depend on the source and the desired output rate; inspect moving detail and test the result. Simply resizing interlaced footage can leave comb-like edges during motion.

HDR material needs a colour workflow, not a metadata label change. YouTube recommends Rec. 709 for SDR, but an HDR-to-SDR conversion involves mapping brightness and colour into the intended output range. Relabelling HDR as Rec. 709 does not perform that conversion. Keep HDR only if your end-to-end output profile and ingest plan support it; otherwise test an intentional conversion using tools available in your build and verify the result on representative scenes.

Pixel format should be checked at both the source and output stages. A source may decode successfully yet require conversion to a format the encoder accepts. Colour range and matrix metadata can also affect appearance. Confirm the encoded file’s properties and compare it visually with the source, particularly on gradients, dark devotional footage and bright skies.

Unusual dimensions or aspect ratios call for an explicit fit/crop choice. A very wide banner, square animation or vertical phone video can all be placed on the same canvas, but not without a visual consequence. Decide whether to preserve the entire image, crop deliberately, or build a background treatment. Do not hide a mismatch by stretching.

Keep source-specific preparation separate from shared output settings where possible. For example, deinterlace only the interlaced clips and convert only the HDR clips that require it, then feed the normalised results into the same output profile. That makes the processing easier to reason about and reduces the chance that a shared chain damages sources that were already suitable.

Normalise audio and video before encoding

Once the per-file differences are understood, apply a consistent output timing and audio policy. Choose the target frame rate from your stream profile and convert each source deliberately. Frame-rate conversion can duplicate or drop frames; on slow pans or scrolling text that may be visible. Inspect the timestamps and play across transitions, rather than assuming that matching nominal frame rates is enough.

Audio needs a declared output sample rate, codec and channel layout. A playlist with mono voice recordings and stereo music can produce level or channel changes at the join. Decide whether to keep a consistent stereo output, preserve a supported multichannel layout, or downmix. YouTube’s guidance recommends AAC or MP3 audio; it notes that 5.1 audio over RTMP/RTMPS is supported only with AAC. Choose the path that matches the material and verify that the encoder actually emits it.

Listen to joins with headphones as well as checking meters. A cut at a waveform peak can click; differing loudness can make a transition uncomfortable. You can use fades or loudness adjustment as editorial choices, but test them against the actual programme and avoid clipping. Include a clip with silence, speech or music as appropriate to the channel, and check that audio does not drift during longer playback.

The playlist architecture should have one persistent output encoder, with each source prepared to meet the profile as it is introduced. The concat filter is the natural FFmpeg route when re-encoding and normalisation are needed; the concat demuxer is more suitable when compatible inputs can be joined without re-encoding. Neither choice, by itself, solves scheduling, recovery or continuous operation. If the goal is an ordered product demonstration, the workflow in creating a YouTube Live stream that loops product videos in order can help you think through sequence separately from media preparation.

Test the playlist and check YouTube ingest guidance

Test a representative sequence before leaving the stream unattended. Include the smallest and largest sources, each aspect ratio, any interlaced or HDR cases, and clips with different audio layouts. Watch transitions for jumps in framing, blank frames, changes in colour, audio gaps and timestamp errors. Check the resulting stream output, not just the individual intermediate files.

Confirm the installed FFmpeg version, filters and encoders on the machine that will run the broadcast. A filter option documented by FFmpeg may not exist in an older build, while hardware encoders can impose constraints that differ from libx264. Test the exact command and profile intended for production, and retain a known-good sample for comparison after changes.

Before going live, revisit YouTube’s encoder guidance for codec, bitrate, CBR, keyframe interval, audio and colour. Test with representative movement and sound at the planned settings, then monitor stream health during the event. Leave bandwidth headroom rather than setting the encoder at the full capacity of an unreliable connection. If a profile fails, reduce the demand or change the operational setup and repeat the test; do not assume that a nominal bitrate alone proves a stable delivery path.

For a channel whose main difficulty is keeping a prepared loop running while the operator’s computer is off, StreamNeo removes that particular burden after the video has been prepared and the YouTube channel is connected. It does not choose the right transcode profile for mixed sources, so the inspection and visual checks in this workflow still matter.

When the file and channel are ready, compare the operating options before committing:

Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.

FAQ

Can I use one FFmpeg filter chain for every clip?

Only after inspecting the sources and deciding which differences need specific treatment. A shared output canvas is useful, but interlacing, HDR, pixel format, sample aspect ratio and audio layout may require per-source preparation. Test representative clips with your deployed FFmpeg build.

Should I fit or crop mixed aspect ratios?

Fit-and-pad preserves all source content and can leave bars; fill-and-crop fills the canvas but may remove edges. Both preserve geometry when configured correctly. Choose based on whether the complete image or a full-frame presentation matters more, and review each source for important content near the edges.

Which resolution and frame rate should I choose?

There is no universal choice. Set the profile from the channel’s content, machine capacity, available network headroom and YouTube’s current live ingest recommendations for the chosen codec. Keep the selected dimensions and frame rate consistent across the output playlist.

Can I concatenate the files without re-encoding?

The concat demuxer can be useful when the input streams satisfy its compatibility constraints. If the sources vary and require scaling, timing or audio normalisation, re-encoding with the concat filter is generally the appropriate route. Test the actual output sequence rather than relying on file joining alone.

YOU’VE REACHED THE END

Keep the ideas coming.

More guides, useful tools and a little help for your next broadcast.

Back to the journal ↗
YOUR NEXT READ

A little more to explore.

More Streaming Settings guides ↗ · All topics ↗