1

My camcorder produces huge MOV files, and I use it for about 1 hour every day, which gives me more than 7 GB of data per day (around 128 MB per minute of recording). Here is the codec information given by ffmpeg -i for a sample 12 minute clip:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Video.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2013-02-05 20:12:47
    original_format : NVT-IM
    original_format-eng: NVT-IM
    comment         : CarDV-TURNKEY
    comment-eng     : CarDV-TURNKEY
  Duration: 00:12:37.00, start: 0.000000, bitrate: 15935 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 14745 kb/s, 30 fps, 30 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      creation_time   : 2016-02-05 20:12:47
      handler_name    : DataHandler
      encoder         : h264
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 32000 Hz, 1 channels, s16, 512 kb/s (default)
    Metadata:
      creation_time   : 2015-02-05 20:12:47
      handler_name    : DataHandler

These are files I would like to keep, and in a decent quality. I will not have storage enough to keep them all in the long term, and my country is one of the most expensive places (if not the most) to purchase or import hardware components, so buying new hard drives is really out of the question.

I have tried recompressing this 12 minute clip using different settings on Handbrake (including of course, the Normal and High profiles), but the resulting file is generally the same size, if not bigger (around 1.5 GB).

I have searched on YouTube for HD videos, and have downloaded a few videos just to check their size, and I got 1080p 12 minute clips for around 200-300 MB in size. They may have reduced some quality, but in my eyes, 1080p videos on YouTube generally look pretty sharp. If possible, I would like similar results!

While searching here on Video Production, I have found this answer which says that "cameras have to compress on-the-fly, so they use constrained baseline mode (...) if you'd like to recover some space, you can use ffmpeg". I have tried running that particular command, but still I am getting huge files.

I am on Linux, but could maybe run Windows in a virtual machine too.

2 Answers 2

1

My earlier answer still holds in general. Additional advice I can provide is to try higher CRF values and use the veryslow preset.

ffmpeg -i input.mov -c:v libx264 -crf 23 -preset veryslow -c:a copy -c:d copy -map 0 compressed.mov

You can also mimic a constrained quality mode by setting

ffmpeg -i input.mov -c:v libx264 -crf 21 -preset veryslow -maxrate 5M -bufsize 10M -c:a copy -c:d copy -map 0 compressed.mov
2
  • It took exactly 8 hours to process the 12 minute sample. The result is 940 MB (that would result in 4,7 GB a day, processed in 40 hours). Thank you, but I'm really looking for something I could do every day, and that would result in files of a size that I could keep in the long term! Feb 16, 2016 at 11:25
  • Change preset to medium. Files will be somewhat bigger but encode faster. You can try other presets listed here.
    – Gyan
    Feb 16, 2016 at 11:29
-1

Why don't you transcode the footage to h265? Quote from https://trac.ffmpeg.org/wiki/Encode/H.265: "H.265 (also known as HEVC) offers 50-75% more compression efficiency compared to H.264 video, while retaining the same visual quality."

Alternatively you could consider transcoding to VP9 codec which seems to offer a better compromise between file size and compression times. Both codecs should deliver same quality image at lower file sizes than h264.

3
  • The quoted comparison is between reference encoders. x265 wasn't as mature as x264, last time I checked. See last two graphs in conclusion section here: looks like x265 delivers same quality at 80-110% bitrate as x264.
    – Gyan
    Mar 16, 2016 at 16:44
  • while i would understand objections in terms of CPU time necessary for compression (which seems to be the downside of x265 right now), there are plenty of "practical" tests of people saying you will achieve the same visual quality at 60-70% file size. so what exactly is it you are trying to say? Mar 16, 2016 at 17:04
  • That the quote is not representative of real-life results. Your own reference to "practical" tests contradicts it. And the OP was hoping for Youtube-like sizes i.e. 300 MB for 12 minutes and not too much encoding time. If you read her comment below my answer, x264 crf encoding produced 940MB files and that was with veryslow preset and thus took 8 hours. For x265 to produce 300MB files that look 'pretty sharp' will take comparable amount of time, if not much more. She wanted a solution that could be used daily.
    – Gyan
    Mar 16, 2016 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.