Я пытаюсь преобразовать mp4-фильм, сделанный галактикой s5 в dvnxhd, но без успеха.
Вот моя команда:
ffmpeg -i "/media/elomin/20170805_221129.mp4"
-map 0:0 -map 0:1 -threads 4 -aspect 16:9 -y
-f mov -acodec pcm_s16le -b:a 256k -ar 48000
-ac 2 -b:v 45000k -r 30.00 -vcodec dnxhd
"/home/elomin/Videos/studio_test_1.mov"
Выход:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/elomin/20170805_221129.mp4':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2017-08-05 20:13:02
Duration: 00:01:32.12, start: 0.000000, bitrate: 17050 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 16985 kb/s, 29.98 fps, 30 tbr, 90k tbn, 180k tbc (default)
Metadata:
rotate : 270
creation_time : 2017-08-05 20:13:02
handler_name : VideoHandle
Side data:
displaymatrix: rotation of 90.00 degrees
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2017-08-05 20:13:02
handler_name : SoundHandle
[dnxhd @ 0xed7500] video parameters incompatible with DNxHD. Valid DNxHD profiles:
...
[dnxhd @ 0xed7500] Frame size: 1920x1080p; bitrate: 45Mbps; pixel format: yuv422p; framerate: 30000/1001
...
Output #0, mov, to '/home/elomin/Videos/studio_test_1.mov':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
Stream #0:0(eng): Video: dnxhd, none, q=2-31, 128 kb/s, SAR 256:81 DAR 0:0, 30 fps (default)
Metadata:
handler_name : VideoHandle
creation_time : 2017-08-05 20:13:02
encoder : Lavc56.60.100 dnxhd
Stream #0:1(eng): Audio: pcm_s16le, 0 channels (default)
Metadata:
creation_time : 2017-08-05 20:13:02
handler_name : SoundHandle
encoder : Lavc56.60.100 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> dnxhd (native))
Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Что здесь не так? Или невозможно преобразовать ориг. видео в этом формате?
Как отметил мой коллега, существует фиксированный набор размеров фрейма, согласованный с несколькими другими жизненно важными параметрами для кодирования dnxhd с помощью FFmpeg.
Для вашего файла следующая слегка упрощенная командная строка должна достичь вашей цели :
ffmpeg -i "/media/elomin/20170805_221129.mp4" \
-c:a pcm_s16le \
-c:v dnxhd -vf scale=1920x1080,fps=24000/1001,format=yuv422p -b:v 115M \
"/home/elomin/Videos/studio_test_1.mov"
Вы не на самом деле свой , чтобы перемасштабировать, так как ваше входное видео является правильным размером для dnxhd, но я оставляю его включенным для демонстрации требуемого синтаксиса, если входное видео имеет неправильные размеры.
Ссылки:
Как конвертировать видео с ffmpeg в формат dnxhd с целью его использования в cinelerra?Как отметил мой коллега, существует фиксированный набор размеров фрейма, согласованный с несколькими другими жизненно важными параметрами для кодирования dnxhd с помощью FFmpeg.
Для вашего файла следующая слегка упрощенная командная строка должна достичь вашей цели :
ffmpeg -i "/media/elomin/20170805_221129.mp4" \
-c:a pcm_s16le \
-c:v dnxhd -vf scale=1920x1080,fps=24000/1001,format=yuv422p -b:v 115M \
"/home/elomin/Videos/studio_test_1.mov"
Вы не на самом деле свой , чтобы перемасштабировать, так как ваше входное видео является правильным размером для dnxhd, но я оставляю его включенным для демонстрации требуемого синтаксиса, если входное видео имеет неправильные размеры.
Ссылки:
Как конвертировать видео с ffmpeg в формат dnxhd с целью его использования в cinelerra?