Повторное сжатие многих огромных файлов MOV

Моя видеокамера создает огромные файлы MOV, и я использую ее примерно 1 час каждый день, что дает мне более 7 ГБ данных в день (около 128 МБ в минуту записи). Вот информация о кодеке, предоставленная ffmpeg -iдля примера 12-минутного клипа:

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

Это файлы, которые я хотел бы сохранить, и в приличном качестве. У меня не будет достаточно места для их хранения в долгосрочной перспективе, а моя страна является одним из самых дорогих мест (если не самым) для покупки или импорта аппаратных компонентов, поэтому о покупке новых жестких дисков не может быть и речи.

Я попытался повторно сжать этот 12-минутный клип, используя различные настройки Handbrake (включая, конечно, профили Normal и High), но результирующий файл, как правило, имеет тот же размер, если не больше (около 1,5 ГБ).

Я искал на YouTube HD-видео и загрузил несколько видео, просто чтобы проверить их размер, и получил 12-минутные клипы в формате 1080p размером около 200-300 МБ. Возможно, они немного снизили качество, но, на мой взгляд, видео 1080p на YouTube обычно выглядят довольно резкими. Если можно, хотелось бы таких же результатов!

При поиске здесь, в Video Production, я нашел этот ответ , в котором говорится, что «камеры должны сжиматься на лету, поэтому они используют ограниченный базовый режим (...), если вы хотите восстановить некоторое пространство, вы можете использовать ффмпег". Я пытался запустить эту конкретную команду, но все равно получаю огромные файлы.

У меня Linux, но я мог бы запустить Windows и на виртуальной машине.

Ответы (2)

Мой предыдущий ответ остается в силе в целом. Дополнительный совет, который я могу дать, — попробовать более высокие значения CRF и использовать предустановку veryslow.

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

Вы также можете имитировать ограниченный режим качества, установив

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
На обработку 12-минутного образца ушло ровно 8 часов. В результате получается 940 МБ (получится 4,7 ГБ в день, обработано за 40 часов). Спасибо, но я действительно ищу что-то, что я мог бы делать каждый день, и это привело бы к файлам такого размера, который я мог бы хранить в долгосрочной перспективе!
Измените предустановку на medium. Файлы будут несколько больше, но кодировать быстрее. Вы можете попробовать другие пресеты, перечисленные здесь .

Почему бы вам не перекодировать отснятый материал в h265? Цитата из https://trac.ffmpeg.org/wiki/Encode/H.265 : «H.265 (также известный как HEVC) предлагает на 50-75% большую эффективность сжатия по сравнению с видео H.264, сохраняя при этом то же визуальное качество."

В качестве альтернативы вы можете рассмотреть возможность перекодирования в кодек VP9, ​​который предлагает лучший компромисс между размером файла и временем сжатия. Оба кодека должны обеспечивать одинаковое качество изображения при меньших размерах файлов, чем h264.

Приведенное сравнение относится к эталонным кодировщикам. x265 не был таким зрелым, как x264, когда я последний раз проверял. См. последние два графика в заключительном разделе здесь : похоже, x265 обеспечивает то же качество при битрейте 80-110%, что и x264.
хотя я понимаю возражения по поводу процессорного времени, необходимого для сжатия (что сейчас кажется недостатком x265), существует множество «практических» тестов людей, говорящих, что вы достигнете того же визуального качества при 60-70% файла. размер. так что именно ты пытаешься сказать?
Что цитата не является репрезентативной для реальных результатов. Ваша собственная ссылка на «практические» тесты противоречит этому. И ОП надеялся на размеры, подобные Youtube, то есть 300 МБ на 12 минут и не слишком много времени на кодирование. Если вы прочитаете ее комментарий под моим ответом, кодировка x264 crf создала файлы размером 940 МБ, и это было с очень медленной предустановкой, что заняло 8 часов. Для x265 для создания файлов размером 300 МБ, которые выглядят «довольно четкими», потребуется сопоставимое количество времени, если не намного больше. Она хотела решение, которое можно было бы использовать ежедневно.