FFmpeg zoom e pan com vídeo como entrada

2

Eu procurei por todos os tipos de maneiras de fazer o filtro zoompan funcionar em um vídeo, não tenho problemas em uma imagem:

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

Isso funciona muito bem, eu tenho um bom zoom na imagem. Mas quando eu tento fazer o mesmo onde a entrada é um vídeo:

ffmpeg -i tmpFile_149712.mp4 -vf "zoompan=z='min(zoom+0.0015,10)':d=150" -c:v mpeg2video -t 5 -s "796x450" test2.mpeg

Em seguida, ele me dá a saída seguinte, e nenhum vídeo por causa do abortado pelo núcleo no final. Então, isso me leva a pensar se esse filtro funciona mesmo com um vídeo?

Especialmente quando eu leio a documentação para o parâmetro zoompan -D "Isso define quantos efeitos de número de quadros durarão por imagem de entrada única ."

$ 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)    
    
por Kristian Primdal 06.10.2015 / 19:25

2 respostas

0

Funciona atualizando para a versão mais recente. Tentei com 3.0.2

    
por 14.05.2016 / 14:23
0

Isso parece um bug na sua versão do FFMpeg. A versão mais recente parece funcionar, mas há outro problema. Quando você passa um vídeo como uma entrada para o zoompan, primeiro divide-o em quadros separados e, em seguida, aplica o efeito de zoom / panorâmica a cada quadro separadamente. Então você obtém 125 (d = 125 por padrão) quadros de saída para cada um dos seus quadros de entrada de vídeo. Eu não consegui encontrar uma maneira de resolver isso

    
por 25.03.2016 / 08:41

Tags