Я пытаюсь сделать видео из изображения и хочу добавить эффект увеличения по центру. Входное изображение 640x360.
Я использую команду:
ffmpeg -framerate 25 -loop 1 -i 46686405.jpg -vf "zoompan = z = 'min(zoom+0.0015,1.4)':x = 320:y = 180:d = 150" -t 6 -c:v mpeg2video -b:v 700k -s 640x360 -y 46686405.mpeg
Моя цель - получить видео в формате 6 секунд с размером 640x360 и 25 кадров в секунду. Эффект масштабирования должен начинаться с центра, и максимальное требуемое увеличение составляет 40% от изображения.
На самом деле я могу создать видео, но это отрывисто. Я заметил, что если зум начинается с верхнего левого угла (x = y = 0), это было плавно. В обоих случаях я получаю такие ошибки
[swscaler @ 0x28794a0] deprecated pixel format used, make sure you did set range correctly
Где я не прав? Спасибо за любую помощь.
Это мой полный вывод на консоль:
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
built on Aug 7 2014 18:14:20 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/home/stuzzo/ffmpeg_build --extra-cflags=-I/home/stuzzo/ffmpeg_build/include --extra-ldflags=-L/home/stuzzo/ffmpeg_build/lib --bindir=/home/stuzzo/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-nonfree
libavutil 52. 98.100 / 52. 98.100
libavcodec 55. 72.102 / 55. 72.102
libavformat 55. 51.101 / 55. 51.101
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.102 / 4. 11.102
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, image2, from '/home/stuzzo/Videos/test/46686405-1400593167_temp.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg), 640x360 [SAR 96:96 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
[swscaler @ 0x22699e0] deprecated pixel format used, make sure you did set range correctly
[mpeg @ 0x22789e0] 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 '/home/stuzzo/Videos/test/46686405-1400593167_temp_temp.mpeg':
Metadata:
encoder : Lavf55.51.101
Stream #0:0: Video: mpeg2video, yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=2-31, 700 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc55.72.102 mpeg2video
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> mpeg2video (native))
Press [q] to stop, [?] for help
[swscaler @ 0x28794a0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 1 times
[swscaler @ 0x28794a0] Warning: data is not aligned! This can lead to a speedloss
[swscaler @ 0x28794a0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 11 times
[swscaler @ 0x288aaa0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 85 times
[output stream 0:0 @ 0x22611e0] 100 buffers queued in output stream 0:0, something may be wrong.
[swscaler @ 0x288aaa0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 49 times
[swscaler @ 0x28826a0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 1 times
frame= 150 fps=0.0 q=14.0 Lsize= 708kB time=00:00:05.96 bitrate= 973.1kbits/s
video:701kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.941622%