Я искал все способы, как заставить фильтр zoompan работать на видео, у меня нет проблем с изображением:
ffmpeg -loop 1 -i thumbnail_56138ba980d73.png -vf "zoompan=z='min(zoom+0.0015,10)':d=125" -c:v mpeg2video -t 5 -s "796x450" test2.mpeg
Это работает просто отлично, я получаю хороший зум на картинке. Но когда я тогда пытаюсь сделать то же самое, где ввод видео:
ffmpeg -i tmpFile_149712.mp4 -vf "zoompan=z='min(zoom+0.0015,10)':d=150" -c:v mpeg2video -t 5 -s "796x450" test2.mpeg
Затем он дает мне следующий вывод, и нет видео из-за прерванного ядром в конце. Так что заставляет меня задуматься, работает ли этот фильтр даже с видео?
Особенно, когда я читаю документацию по параметру zoompan -D «Здесь указывается, сколько эффекта будет длиться для одного входного изображения ».
$ ffmpeg -i tmpFile_149712.mp4 -vf "zoompan=z='min(zoom+0.0015,10)':d=150" -c:v mpeg2video -t 5 -s "796x450" test2.mpeg
ffmpeg version N-73887-g99ad832 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --prefix=/home/vagrant/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/vagrant/ffmpeg_build /include --extra-ldflags=-L/home/vagrant/ffmpeg_build/lib --bindir=/home/vagrant/bin --enable-gpl --enable-libass --enable -libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264
libavutil 54. 28.100 / 54. 28.100
libavcodec 56. 50.101 / 56. 50.101
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 25.100 / 5. 25.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmpFile_149712.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.101
Duration: 00:00:12.10, start: 0.000000, bitrate: 359 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 356 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
[mpeg @ 0x2c17020] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'test2.mpeg':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.101
Stream #0:0(und): Video: mpeg2video, yuv420p, 796x450, q=2-31, 200 kb/s, 30 fps, 90k tbn, 30 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc56.50.101 mpeg2video
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
Press [q] to stop, [?] for help
[output stream 0:0 @ 0x2c12000] 100 buffers queued in output stream 0:0, something may be wrong.
Past duration 0.998039 too large
*** Error in `ffmpeg': corrupted double-linked list: 0x00000000030af400 ***bits/s dup=0 drop=17100
Aborted (core dumped)