fujiawei-dev/ffmpeg-generator

gltransition support

junedgar opened this issue · 2 comments

如果需要使用gltransition 是否还需要编译一个支持gltransition的ffmpeg?

ffmpeg -i gl_transitions/ffmpeg-gl-transition/media/1.mp4 -i gl_transitions/ffmpeg-gl-transition/media/0.mp4 -filter_complex "[1][0]gltransition=duration=2:offset=1:source=/home/admin/.conda/envs/test/lib/python3.8/site-packages/ffmpeg/transitions/glsl/ZoomInCircles.glsl[tag0]" -map [tag0] ./a.mp4 -y -hide_banner
Traceback (most recent call last):
  File "test.py", line 13, in <module>
    vtools.concat_2_videos_with_gltransition("./a.mp4",
  File "/home/admin/.conda/envs/test/lib/python3.8/site-packages/ffmpeg/tools/vtools.py", line 107, in concat_2_videos_with_gltransition
    vfilters.gltransition(in1, in2, offset=offset, duration=duration,
  File "/home/admin/.conda/envs/test/lib/python3.8/site-packages/ffmpeg/nodes.py", line 165, in run
    raise FFmpegError('ffmpeg', stdout, stderr)
ffmpeg.nodes.FFmpegError: ffmpeg Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'gl_transitions/ffmpeg-gl-transition/media/1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:04.00, start: 0.000000, bitrate: 530 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 528 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'gl_transitions/ffmpeg-gl-transition/media/0.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:04.00, start: 0.000000, bitrate: 454 kb/s
    Stream #1:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 452 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
[AVFilterGraph @ 0x682040] No such filter: 'gltransition'
Error initializing complex filters.
Invalid argument

仓库里有编译用的 Dockerfile,建议依据命令自行编译。我以前也上传过 Docker 镜像,但比较久没更新了:

docker pull rustlekarl/ffmpeg-gltransition:latest