Как-то, по не знанию, я скопировал AVCHD потоки без сопутствующих файлов и думал, что позже я смонтирую это видео. Они прекрасно проигрывались плеерами, но упорно не желали импортироваться в видео-редакторы.
Первое что пришло мне в голову – это пересобрать видео- и аудио-потоки в другой контейнер без перекодировки. Эксперимент закончился неудачей – полученные файлы (а были перепробованы и avi, и mpeg, и mov контейнеры) опять нормально воспроизводились, но либо не импортировались в редактор, либо видео оказывалось местами испорченное.
Тогда я решил полностью перекодировать файл с максимально возможным качеством.
ffmpeg -i 00001.MTS -copyts \
-acodec libfaac -ar 48000 -ab 256k \
-vcodec libx264 -crf 15 -coder 0 \
-filter:v yadif,scale=1280:720 -r 25 \
output.mp4
Поясню параметры, которые тут использовались:
copyts
– копирует временные метки и нужен для правильной синхронизации видео и звука;cfr
– задает качество при однопроходном кодировании (меньше – лучше качество);coder 0
– отключаем CABAC так как не требуется оптимальный битрейт.
А раз происходит полная перекодировка, то я решил сразу деинтерлейсить видео и немного уменьшить размеры картинки.
Полезная документация:
PS. Собрать свежую стабильную версию FFmpeg всегда можно с помощью Homebrew
brew install ffmpeg
Коментарии к заметке
Вот такая команда скопировала мне видеопоток и сделала из аудио AAC, что замечательно съели редакторы:
ffmpeg -i in.MTS -ab 256k -vcodec copy -acodec aac -copyts -filter:v yadif -strict -2 out.mp4
-strict -2
у меня потребовал ffmpegПодсмотрел здесь: avchd to mp4/h264/aac conversion
У тебя в данном случае параметр
-filter:v yadif
не работает вообще из-за того, что видео-поток никак не обрабатывается. Можно просто:Я, в принципе, аналогичный набор ключей с теми или иными вариациями пробовал. Меня насторожило, что на сценах с активным движением в FinalCut появлялись квадратики. А после финального рендера в этих же местах видео было нормальным. Возможно, какие-то параметры потока выходили за дозволенные границы и у FinalCut сносило крышу.
А я просто делал «-acodec copy -vcodec copy -sn», а сохранял как mkv. Pitivi принимает!