Free tools Windows power users keep installed
One-click scans. No signup required.
For YouTube uploads, keep each video at the frame rate it was recorded whenever possible. YouTube does not require one universal constant frame rate (CFR). If your workflow specifically requires CFR, FFmpeg can produce it with -fps_mode:v cfr; choose the source rate or another deliberate target, knowing FFmpeg may duplicate or drop frames to reach it.
Choose the right frame rate for a YouTube playlist
A YouTube playlist is a set of separate video uploads. Playlist membership does not require every entry to share one frame rate; decide the encoding settings for each source video. YouTube’s guidance is to encode and upload content at the rate used during recording. Common rates include 24, 25, 30, 48, 50, and 60 fps; YouTube also accepts other rates, including 23.98, 29.97, and 59.94 fps. YouTube’s upload encoding recommendations and frame-rate troubleshooting guidance cover those cases.
- One source, one playlist entry: preserve its native rate where practical.
- Several playlist entries: encode each to match its own source; there is no need to convert them all to a shared rate just because they are in the same playlist.
- Mixed-rate clips rendered into one video: select a rate for the combined output. Converting clips to one cadence can repeat or omit frames, so inspect motion and audio/video sync afterward.
FFmpeg settings for an SDR upload with CFR
This is a starting command for an MP4 upload. Replace 30 with the source rate, if preserving it, or the specific target your workflow requires. The CRF and preset are practical encoder choices, not YouTube-mandated values.
ffmpeg -i input.mov -map 0:v:0 -map 0:a?
-c:v libx264 -profile:v high -pix_fmt yuv420p
-r 30 -fps_mode:v cfr -crf 18 -preset medium
-c:a aac -b:a 384k -ar 48000
-movflags +faststart output.mp4
The command encodes video with H.264, High Profile, and 4:2:0 pixel format, and encodes audio as AAC at 48 kHz. YouTube’s MP4 upload recommendations include progressive scan, two consecutive B-frames, a closed GOP, CABAC, variable bitrate, and 4:2:0 chroma. For its recommended closed GOP length, use half the frame rate (for example, 15 frames at 30 fps). Consult YouTube’s current upload recommendations when setting additional encoder options.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
-fps_mode:v cfr makes the output video constant frame rate by duplicating or dropping frames as needed to hit the requested rate. Output -r during encoding also controls output cadence. Do not use stream copy (-c:v copy) when you need frame-rate conversion: with stream copy, -r signals a rate rather than converting the actual frames. See the FFmpeg manual for option behavior and check the manual for your installed build.
Filter-based alternative
You can use the fps video filter to make the conversion explicit. Set the filter rate to the same intentional target you would otherwise use for the output:
Rank #2
ffmpeg -i input.mov -map 0:v:0 -map 0:a?
-vf "fps=30" -c:v libx264 -profile:v high -pix_fmt yuv420p
-crf 18 -preset medium -c:a aac -b:a 384k -ar 48000
-movflags +faststart output.mp4
The filter duplicates or drops frames to produce the specified rate. Avoid combining multiple competing frame-rate conversion settings unless you understand which one controls the output. FFmpeg option availability and syntax can vary by build; use the manual corresponding to your installed version.
Bitrate, audio, and color
YouTube says there is no required bitrate limit for uploads; its figures are reference recommendations, not guarantees of quality. For SDR 1080p, its published recommendations are 8 Mbps at 24/25/30 fps and 12 Mbps at 48/50/60 fps. Other resolutions have their own recommendations. The example command uses CRF quality-based encoding rather than a fixed bitrate, consistent with the upload guidance’s variable-bitrate recommendation. Check YouTube’s upload page for the applicable resolution and frame-rate class.
Rank #3
YouTube recommends 48 kHz audio and BT.709 for SDR. Match color metadata to the actual master; do not blindly tag footage with a color space it does not use. YouTube explains handling of unspecified or unsupported color metadata in its upload recommendations and color-space guidance.
When playlist clips must become one video
If by “playlist video” you mean one compilation made from several clips, that is a separate task from uploading independent playlist entries. When clips need conversion or other processing, FFmpeg’s concat filter can join them in a re-encode workflow. The concat demuxer may avoid re-encoding when the inputs have compatible formats and parameters. See the concat filter documentation and concat demuxer documentation. For mixed frame rates, decide the output cadence deliberately and account for duplicated or dropped frames.
Rank #4
Upload conversion is not live-stream encoding
These recommendations are for prerecorded uploads. YouTube’s live-stream settings are a different workflow: live guidance includes constant bitrate and live keyframe requirements, while upload guidance recommends variable bitrate and does not impose a required upload bitrate limit. Do not copy live-stream settings into an upload command solely because both are destined for YouTube.
Common problems and fixes
- Output is not actually CFR: confirm that an encoding or frame-rate filter is active and that the command is not stream-copying video. Use
-fps_mode:v cfror anfpsfilter with the intended rate. - Motion looks uneven after conversion: the target rate may not match the source cadence. Return to the recorded rate if possible; otherwise inspect the converted result because frames may have been duplicated or dropped.
- Audio and video drift or appear out of sync: review the final encoded file, especially after combining clips or changing cadence. Check timestamps and input compatibility in the chosen concatenation workflow.
- Unexpected color appearance: verify that the source’s color metadata is accurate and that the output tags describe the actual master, rather than forcing BT.709 metadata onto other footage.
- FFmpeg rejects an option: check the installed build’s documentation for supported syntax, particularly for
-fps_mode; use the documented equivalent workflow for that build.
Or let it run in the cloud
If your goal is keeping prerecorded videos live on a YouTube channel around the clock, StreamNeo is a different workflow from preparing playlist uploads with FFmpeg. Upload a recording or build a playlist, add your YouTube stream key once, and go live; StreamNeo loops the uploaded video from the cloud. Nothing has to stay on at home. Your upload streams as made, up to 4K 60fps, at one price per slot; automatic recovery can resume if YouTube drops the stream. The first day is free with no card. Monthly: $9.99 per month. StreamNeo is for YouTube and plays uploaded videos, not a live camera feed. Learn more at StreamNeo, then start your free day.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Quick Recap
Best Value
- Full-featured professional audio and music editor that lets you record and edit music, voice and other audio recordings
- Add effects like echo, amplification, noise reduction, normalize, equalizer, envelope, reverb, echo, reverse and more
- Supports all popular audio formats including, wav, mp3, vox, gsm, wma, real audio, au, aif, flac, ogg and more
- Sound editing functions include cut, copy, paste, delete, insert, silence, auto-trim and more
- Integrated VST plugin support gives professionals access to thousands of additional tools and effects
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

