31 votes
Accepted

How to encode Apple ProRes on Windows or Linux?

As of December 2018, Adobe Creative Cloud aps, such as Premier, After Effects and Adobe Media Encoder give you the ability to encode in ProRes without any post-hoc conversion. If you don't use Adobe ...
user avatar
  • 13.4k
27 votes
Accepted

Why processor is "better" for encoding than GPU?

The article you linked is not very good. Normally, single pass bitrate encodings convert your bitrate into a RF value with a maximum bitrate limit and takes it from there. x264's one-pass ABR ...
user avatar
  • 2,618
22 votes
Accepted

How is this .mp4 file 596523 hours long?

There are several things we can note here: The file stops playing after 0:05:30. If you remux the file (mkvtools for example) you do have 5:30 displayed as the length. The original file does in fact ...
user avatar
  • 800
14 votes

How to losslessly encode a jpg image sequence to a video in ffmpeg?

This will output a lossless H.264 video where frames will use information from other frames ffmpeg -f image2 -r 30 -i %09d.jpg -vcodec libx264 -profile:v high444 -refs 16 -crf 0 -preset ultrafast a....
user avatar
13 votes
Accepted

H.264 or VP9 for encoding for YouTube?

tl;dr: Since Youtube reencodes all videos regardless of the upload format, it really isn't that important. Just export your video with a high bitrate to preserve quality. Also see my answer here ...
user avatar
  • 5,382
13 votes

Removing MP4 encoding information

Use bitstream filter filter_units with ffmpeg 4.0 or newer. ffmpeg -i INPUT -c copy -bsf:v 'filter_units=remove_types=6' OUTPUT P.S. /* NAL unit types */ enum { H264_NAL_SLICE = 1, ...
user avatar
  • 131
13 votes
Accepted

ffmpeg- What's the difference between "NN000/1000 fps" and "NN000/1001 fps"?

Yes, 24000/1000 is 24 fps and 24000/1001 is 23.976fps. Some refer to the X/1001 frame rates as "drop down" (as in "dropped down from the integer") but this is easy to confuse with "pull down" which ...
user avatar
  • 387
12 votes

Why processor is "better" for encoding than GPU?

2017 update: ffmpeg supports h264 and h265 NVENC GPU-accelerated video encoding. You can do 1-pass or 2-pass encoding at the quality that you choose, for either hevc_nvenc or h264_nvenc, or and even ...
user avatar
  • 121
12 votes
Accepted

How to encode for YouTube with ffmpeg?

Use ffmpeg -i in.mp4 -vf yadif,format=yuv420p -force_key_frames expr:gte(t\,n_forced/2) -c:v libx264 -crf 18 -bf 2 -c:a aac -q:a 1 -ac 2 -ar 48000 -use_editlist 0 -movflags +faststart out.mp4 -vf ...
user avatar
  • 30.2k
7 votes

Add image under the video with ffmepg

Use the vstack filter: ffmpeg -i video.mp4 -i image.png -filter_complex vstack output.mp4 If the image is not the same width as the video then resize it with the scale filter: ffmpeg -i video.mp4 -...
user avatar
  • 9,209
7 votes

H.264 or VP9 for encoding for YouTube?

YouTube will re-encode whatever you give it. VP9 is currently too slow to encode. So the best choice is to either: Give it the original footage, or if it is not accepted by YouTube or is too big to ...
user avatar
  • 9,209
7 votes

8bit vs 10bit vs 12bit

I can answer your first question. At the same bitrate and transcoding from an 8-bit source 10-bit HEVC is better than 8-bit HEVC, because it hardcodes dither. archived version of https://gist.github....
user avatar
  • 79
7 votes
Accepted

Digitize a VHS tape with FFmpeg and get a live preview

The tee muxer is suitable for this. ffmpeg \ -f v4l2 -standard PAL -thread_queue_size 2048 -i /dev/video1 \ -f alsa -thread_queue_size 2048 -i hw:2,0 \ -map 0 -map 1 \ -vf yadif=1 \ -vcodec libx264 -...
user avatar
  • 30.2k
6 votes
Accepted

How to force Adobe Media Encoder to use 100% CPU and memory?

There might not be a way. Based on your description of the problem, it sounds like the processing is the slow part. While the video encoder itself is able to do multi-threaded processing, the image ...
user avatar
  • 19.2k
6 votes

How to force Adobe Media Encoder to use 100% CPU and memory?

I'm not happy when I'm rendering unless I can actually smell burning plastic, nothing is more frustrating than AE telling you that your render won't complete until the heat death of the universe, ...
user avatar
  • 13.4k
6 votes
Accepted

YouTube Compression: Why?

I've answered a similar question some time ago. YouTube added a few codecs since then but all the info there still applys: How does YouTube encode my uploads and what codec should I use to upload? ...
user avatar
  • 7,099
6 votes

Faster deinterlacing with ffmpeg and yadif

Yes, you have the right idea. If stib's suggestion of making multiple outputs in parallel with the same ffmpeg commandline doesn't quite do the trick, then use a temp file to hold a lossless copy of ...
user avatar
  • 2,618
6 votes

how to Rotate a 3gp video without re-encoding

Rotate without re-encoding You can add rotation metadata: ffmpeg -i input.3gp -c copy -metadata:s:v rotate=90 output.3gp -c copy will enable stream copy mode, so it will just re-mux instead of re-...
user avatar
  • 9,209
6 votes

Is there an existing video format that records per-frame metadata?

If the frame-rate is not too high and you can associate a frame with a precise timestamp then the easiest would be to add the metadata as textual subtitles. The other option is to mux the metadata as ...
user avatar
  • 486
6 votes
Accepted

Removing MP4 encoding information

Regular ffmpeg won't do this. You'll need a combination of two tools to carry this out. #1 Use ffmpeg from direct264, a modded version of an old ffmpeg build with a custom filter to modify H264 ...
user avatar
  • 30.2k
6 votes
Accepted

Mono to Stereo using FFMPEG

If you run ffmpeg -layouts, you will see that stereo indicates the presence of two channels, one assigned as Front Left and the other as Front Right. If you use -ac 2 in your encode, ffmpeg will ...
user avatar
  • 30.2k
6 votes

ffmpeg- What's the difference between "NN000/1000 fps" and "NN000/1001 fps"?

Those are rational numbers. So, 24000/1000 = 24.000 and 24000/1001 = 23.976. These are in fact the exact representations i.e. 23.976 is an approximation but 24000 divided by 1001 isn't. As for why ...
user avatar
  • 30.2k
5 votes

How to losslessly encode a jpg image sequence to a video in ffmpeg?

To expand on LordNeckbeard's answer, yes, just mux the JPEG data into an MJPEG video stream. That will be the smallest representation of the exact sequence of output images, even though MJPEG is a ...
user avatar
  • 2,618
5 votes
Accepted

Video Encoding - Wasting Space

This isn't a phenomenon, this is compression. It is simply how it works. Compression works by taking an input, runs it through some algorithms and then gets an output that matches up either exactly (...
user avatar
  • 19.2k
5 votes

Video Encoding - Wasting Space

To understand this you need to understand how codecs actually work. A plain uncompressed video frame e.g. a single picture is pretty large. I'm talking about a bitmap, not a lossless encoded video, no ...
user avatar
  • 7,099
5 votes

Add image under the video with ffmepg

I think it's probably easier to combine (stack) a full dimension background image (720x500px) with your video in ffmpeg instead of adding the 20px footer to the video. You can simply use the overlay ...
user avatar
  • 2,269
5 votes

8bit vs 10bit vs 12bit

In my experience (using handbrake) increasing the bit depth increases the file size but not by much. However, lowering the CRF is what causes significantly larger files. I encoded several times the ...
user avatar
5 votes

What is the colour range of most videos?

Most videos are limited range i.e. luma goes from 16 to 235, and chroma from 16 to 240. Unless expressly set, FFmpeg does not scale the range from one to another. Whatever the source is, that's the ...
user avatar
  • 30.2k
5 votes

4:3 video has 720x480 resolution

525/60 digitized SD video according to Rec. 601 is indeed 720 pixels wide, 480 pixels high, including some blanking on the sides. Digital equivalent of 625/50 is 720x576. In both cases, frame aspect ...
user avatar
5 votes
Accepted

4:3 video has 720x480 resolution

There are 2 different things: The real width and height of frames (in pixels) – see the green part of the following picture. The displayed width and height (during the playback) – see the blue part ...
user avatar
  • 1,362

Only top scored, non community-wiki answers of a minimum length are eligible