ffmpeg: создание видео из изображения приводит к получению видео длиной всего 1 секунду

ffmpeg: создание видео из изображения приводит к получению видео длиной всего 1 секунду

Я пытаюсь создать короткий видеофайл из одного изображения на 5 секунд на машине с Windows с помощью ffmpeg. Видеофайл должен использоваться для объединения перед видеофайлами, снятыми камерой, которая выдает 1920x1080 60 кадров в секунду. Следующий код создает 1-секундный поток вместо 5-секундного. Есть идеи? Спасибо заранее.

"c:\program files\ffmpeg\ffmpeg32" -f image2 -i "c:\program files\ffmpeg\imput1.jpg" -loop 1 -vcodec mpeg1video -b:v 104857200 -r 59.94 -s 1920x1080 -aspect 16:9 -t 5 "c:\program files\ffmpeg\banner.MPG"

Вот мои результаты вывода:

<pre>c:\Program Files\ffmpeg>"c:\program files\ffmpeg\ffmpeg32" -f
image2 -i "input1.jpg" -loop 1 -vcodec mpeg1video -b:v 10 4857200 -r
59.94 -s 1920x1080 -aspect 16:9 -t 5 "c:\program files\ffmpeg\banner. MPG" ffmpeg version N-52045-g694fa00 Copyright (c) 2000-2013 the
FFmpeg developers built on Apr 12 2013 16:54:51 with gcc 4.8.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrn b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libr tmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena ble-zlib 
55. 0.100 libavfilter 3. 53.101 / 3. 53.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, image2, from 'c:\program files\ffmpeg\input1.jpg': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0:
Video: mjpeg, yuvj420p, 722x267 [SAR 1:1 DAR 722:267], 25 tbr, 25 tbn,
25 tbc File 'c:\program files\ffmpeg\banner.MPG' already exists.
Overwrite ? [y/N] y VBV buffer size not set, muxing may fail Output
#0, mpeg, to 'c:\program files\ffmpeg\banner.MPG': Metadata: encoder : Lavf55.2.100 Stream #0:0: Video: mpeg1video, yuv420p, 1920x1080 [SAR
1:1 DAR 16:9], q=2-3 1, 104857 kb/s, 90k tbn, 59.94 tbc Stream
mapping: Stream #0:0 -> #0:0 (mjpeg -> mpeg1video) Press [q] to stop,
[?] for help frame= 1 fps=0.0 q=9.8 Lsize= 130kB time=00:00:00.01
bitrate=63812.1kbits /s video:130kB audio:0kB subtitle:0 global
headers:0kB muxing overhead 0.373990%

c:\Program Files\ffmpeg>> libavutil 52. 26.100 / 52. 26.100 libavcodec 55. 2.100 / 55. 2.100
libavformat 55. 2.100 / 55. 2.100 libavdevice 55. 0.100 /
</pre>

ОБНОВЛЕНИЕ: Получил 5-секундное видео для работы со следующим, но видео не будут конкатенироваться с недавно сделанным. Думаю, это, вероятно, заслуживает нового вопроса.

"c:\program files\ffmpeg\ffmpeg32" -loop 1 -i graphic.jpg -s 1920x1080 -aspect 16:9 -t 5 -c:v libx264 banner.mp4 

решение1

Опция -loopприменяется к следующему входному файлу, поэтому в вашем случае она, вероятно, не анализируется. Попробуйте это — я опустил другие опции для краткости:

ffmpeg -loop 1 -i input.jpg -t 5 output.mp4

Несколько советов:

  • Ваша версия ffmpeg уже немного устарела. Всегда старайтесь использоватьнедавняя сборкаесли что-то пойдет не так.

  • -f image2излишне, так как изображения JPG автоматически обрабатываются демультиплексором image2.

  • Я считаю, что для достижения действительно постоянного битрейта вам необходимо установить все три параметра -b:v, -minrateи -maxrateна одно и то же значение.

  • Обычно в наши дни вы не хотите использовать видео MPEG-1 ( mpeg1videoкодировщик в ffmpeg), особенно для HD-контента. Вы получите либо огромные файлы, либо очень плохое качество из-за ограниченного битрейта. Хотя вы указали очень большой битрейт (действительно ли это то, что вам нужно?), вам может быть лучше использовать видео MPEG-2 или даже MPEG-4 Part 12 (AVC, H.264). См.руководство по кодированию x264для некоторых опций.

Связанный контент