|
|||||||
Опции кодирования FFMpeg для формата MTS камеры SONY HANDYCAM HDR CX-130 в формат, пригодный для видеоредактирования
Время создания: 17.12.2017 13:14
Текстовые метки: ffmpeg, mts, sony, handycam конвертирование, convert, видео, видеоредактор
Раздел: Компьютер - Linux - Видео в Linux - FFmpeg
Запись: xintrea/mytetra_syncro/master/base/1513505678c3w5v44qdt/text.html на raw.github.com
|
|||||||
|
|||||||
Здесь даны опции конвертирования исходного видео в формате 1440x1080 50FPS interlace. Информация о файле выглядит так: $ ffmpeg -i 00014.MTS Input #0, mpegts, from '00014.MTS': Duration: 00:00:49.92, start: 1.040000, bitrate: 10492 kb/s Program 1 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080 Здесь следует обратить внимание, что FPS написан как 25, но tbc установлена в 50, то есть полукадры interlaced режима следуют с частотой 50Гц. Рабочие параметры конвертирования следующие: ffmpeg -threads 2 \ -i input.MTS \ -vf yadif \ -vf scale=960:720:flags=bicubic \ -r 25 \ -vsync 1 \ -y \ -codec:v mjpeg \ -q:v 1 \ -g 0 \ -codec:a adpcm_ima_wav \ output.avi Результирующее видео будет иметь:
Здесь есть два важных момента: 1. Вместо кодека mjpeg, который представляет собой, по сути, поток отдельных кадров в формате JPEG, а посему не является кодеком без потерь, можно использовать кодек rawvideo который представляет каждый кадр в явном виде без потери качества (формат размещения пикселей yuv420p по умолчанию). Но размер выходного файла будет в разы больше. 2. При работе с видео подвергается нарезке не только видео но и звук, его сопровождающий. Поэтому потоковые кодеки дают плохой результат, и звук тоже надо преобразовать в формат, подлежащий легкой нарезке. Достаточно простой формат - это WAV, с ним никогда не будет проблем. Но почему-то в списке доступных кодеков таких кодеков немного: $ ffmpeg -codecs | grep -i wav DEVI.S alias_pix Alias/Wavefront PIX image D.VI.. targa_y216 Pinnacle TARGA CineWave YUV16 DEA.L. adpcm_ima_wav ADPCM IMA WAV DEA.L. adpcm_swf ADPCM Shockwave Flash D.A... wavesynth Wave synthesis pseudo-codec DEA.LS wavpack WavPack (encoders: wavpack libwavpack ) Хотелось бы использовать свободный WavPack, но непонятно как он себя ведет, так как он умеет работать и без потерь качества и с потерями, а в документации не написано как выбирать режим, есть только уровень сжатия. Поэтому из всего этого списка единственный кодек, который понятно как работает - это адаптивный PCM кодек ADPCM IMA WAV. Да, плохо что он адаптивный, но дельта на крутых фронтах у него считается по специальной таблице, а не напрямую, так что качество сильно не страдает. Да, если в качестве имени кодека указать flac, то звук закодируется, но будет явная рассинхронизация видео и звука. Почему так происходит - непонятно. Единственный вменяемый звуковой кодек, с которым нету рассинхрона звука и видео - это adpcm_ima_wav, проверено опытным путем. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|