首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中编写ffmpeg命令

如何在android中编写ffmpeg命令
EN

Stack Overflow用户
提问于 2018-08-17 05:21:30
回答 1查看 891关注 0票数 1

我正在使用BravoBit dependency来执行Android中的ffmpeg命令。下面是依赖项

代码语言:javascript
复制
    implementation 'nl.bravobit:android-ffmpeg:1.1.5'

执行ffmpeg命令需要一个String[]命令。但我无法理解如何以数组格式传递复杂的命令。每当我试图执行命令时,我都会得到无效的参数错误。下面是我试图使用的命令之一。

代码语言:javascript
复制
String[] cmd = new String[]{"-i", uri,
"-i",overlayUri , "-filter_complex","[0:v]setpts=PTS-STARTPTS", "scale=1920x1080[top]","[1:v]loop=-1:size=750","setpts=N/FRAME_RATE/TB","scale=1920x1080","format=yuva420p", "colorchannelmixer=aa=0.5[bottom]"
, "[top][bottom]overlay=shortest=1, format=yuv420p", outputPath};

这里,uri、overlayUri是输入和覆盖文件路径,outputPath是输出文件的路径。

我所犯的错误

NULL @ 0xf6d44e00无法为'1:vloop=-1:size=750‘1:size=750:size=750找到合适的输出格式

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-16 09:35:21

经过大量的命中和尝试的方法,我得到了以下格式的工作。

代码语言:javascript
复制
String[] cmd4 = new String[]{"-i", uri,"-f" ,"lavfi",
"-i","movie="+overlayUri+":loop=200,setpts=N/FRAME_RATE/TB","-filter_complex","[1:v][0:v]scale2ref[ua][b];[ua]setsar=1,format=yuva444p,colorchannelmixer=aa=0.5[u];[b][u]overlay", outputPath};

我使用上述命令的目的是在另一个视频上覆盖一个视频,并将覆盖视频循环到输入视频的长度。我在这里理解的是,以-开头的任何内容都是一个子命令,应该是命令数组中的索引。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51888832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档