gpt4 book ai didi

android - ffmpeg 缺少混合过滤器

转载 作者:行者123 更新时间:2023-12-04 22:56:21 26 4
gpt4 key购买 nike

我正在使用 ffmpeg 库开发 android 项目。我遵循以下指令:https://github.com/guardianproject/android-ffmpeg为 android 构建 ffmpeg 库。一切正常。

现在,我正在测试与该库的视频过滤器相对应的过滤器,例如:drawtext,scale,pad,......其中大多数都运行良好,但我对“混合”过滤器有问题。

我尝试使用命令: ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)' -y out.mp4 并收到错误:没有这样的混合过滤器。

你知道我如何配置来启用这个过滤器吗?

这是输出结果:

ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Feb 27 2014 05:23:20 with gcc 4.6 20120106 (prerelease)
configuration: --arch=arm --cpu=cortex-a8 --target-os=linux --enable-runtime-cpudetect --prefix=/data/data/info.guardianproject.ffmpeg/app_opt --enable-pic --disable-shared --enable-static --cross-prefix=/home/admin/workspace/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi- --sysroot=/home/admin/workspace/android-ndk-r9c/platforms/android-3/arch-arm --extra-cflags='-I../x264 -mfloat-abi=softfp -mfpu=neon' --extra-ldflags=-L../x264 --enable-version3 --enable-gpl --disable-doc --enable-yasm --enable-decoders --enable-encoders --enable-muxers --enable-demuxers --enable-parsers --enable-protocols --enable-filters --enable-avresample --enable-libfreetype --disable-indevs --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-network --enable-libx264 --enable-zlib --enable-muxer=md5
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/videokit/in.mp4':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2014-03-04 08:53:01
Duration: 00:00:15.10, start: 0.000000, bitrate: 7055 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 6935 kb/s, SAR 65536:65536 DAR 16:9, 17.18 fps, 34.42 tbr, 90k tbn, 180k tbc
Metadata:
creation_time : 2014-03-04 08:53:01
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 16000 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2014-03-04 08:53:01
handler_name : SoundHandle
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/videokit/7.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf53.12.0
comment : Courtesy of National Geographic. Used by Permission.
Duration: 00:00:04.20, start: 0.000000, bitrate: 1601 kb/s
Stream #1:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 1472 kb/s, 10 fps, 10 tbr, 10 tbn, 10 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #1:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
No such filter: 'blend'
Error configuring filters.

谢谢

最佳答案

只是您需要在 blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)' 之间加上双引号,并且您的最终命令必须如下所示: ffmpeg - i input1.mp4 -i input2.mp4 -filter_complex "blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'"-y out.mp4 你需要要小心 ffmpeg 语法。您可以查看 this 链接以获取更多信息。

关于android - ffmpeg 缺少混合过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com