Я хочу конвертировать некоторые видео для воспроизведения на цифровой камере Canon.
Видеоролики с камеры Canon PowerShot имеют следующие характеристики:
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s, 29.97 fps
Audio: pcm_u8 (raw / 0x20776172), 12000 Hz, mono, u8, 96 kb/s
Как будет ffmpeg
выглядеть строка -command для создания таких видео? Или где я могу почитать об этом? Я должен попытаться найти ее, ffmpeg -formats
которая дает мне большой список форматов. Из этого и некоторого дальнейшего чтения на странице man я пришел к этой команде:
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec copy -pix_fmt yuvj420p MVI_2655.MOV
но все равно не работает. Спецификация видео другая.
Видео, которое я получаю:
Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x272 [SAR 153:154 DAR 180:77], 326 kb/s
но правильное видео должно иметь
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s
Я думаю, что проблема не в резолюции, а вВысокийпротивОграниченная базовая линия. Иyuv420pпротивyuvj420p. Как мне достичь этих характеристик?
решение1
С помощью подсказки от Эли и небольшого дальнейшего исследования я обнаружил, что эта командная строка создает точно такие же спецификации формата:
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -s 1280x720 -r ntsc -colorspace smpte170m -color_primaries bt709 -color_trc bt709 MVI_2655.MOV
где
-vcodec libx264
вместе с-profile:v baseline
и-pix_fmt yuvj420p
устанавливает видео Ограниченная базовая линияи формат пикселей дляyuvj420p-colorspace smpte170m
и устанавливает три подспецификации формата пикселей после yuvj420p(pc,…), которые я-color_primaries bt709
нашел-color_trc bt709
здесь-r ntsc
устанавливает частоту кадров 29,97 (где ntsc — псевдоним для частоты кадров)-s 1280x720
масштабирует видео до той же ширины и высоты, что и оригинальное видео Canon
Единственное отличие — это битрейт, который составляет 4065 кбит/с для моего видео, созданного с помощью ffmpeg, и 21588 кбит/с для видео Canon.
Но тем не менее видео по-прежнему не воспроизводится на камере Canon. :-(