Моя видеокамера создает огромные файлы 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 и на виртуальной машине.
Мой предыдущий ответ остается в силе в целом. Дополнительный совет, который я могу дать, — попробовать более высокие значения 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
Почему бы вам не перекодировать отснятый материал в h265? Цитата из https://trac.ffmpeg.org/wiki/Encode/H.265 : «H.265 (также известный как HEVC) предлагает на 50-75% большую эффективность сжатия по сравнению с видео H.264, сохраняя при этом то же визуальное качество."
В качестве альтернативы вы можете рассмотреть возможность перекодирования в кодек VP9, который предлагает лучший компромисс между размером файла и временем сжатия. Оба кодека должны обеспечивать одинаковое качество изображения при меньших размерах файлов, чем h264.
восхитительный
Гьян
medium
. Файлы будут несколько больше, но кодировать быстрее. Вы можете попробовать другие пресеты, перечисленные здесь .