【问题标题】:How to make ffmpeg cmd run if there is space in director path or file name如果director路径或文件名中有空格,如何使ffmpeg cmd运行
【发布时间】:2019-01-18 21:21:15
【问题描述】:

我正在使用 ffmpeg 通过 android 剪切视频,一切正常,但只有当源目录包含空间命令不起作用时说文件未找到时才会出现问题

-i /storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4 -acodec copy -vcodec copy -ss 00:00:10 -t 00:00:20 /storage/emulated/0/1547813275685ChunkClip.mp4

找不到文件就像“找不到文件 -i /storage/emulated/0/ISave”

但对于其他路径没有问题,只有在文件路径中有空间时才能正常工作

【问题讨论】:

  • 引用补丁:"/storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4"
  • 不,伙计,我尝试了所有但没有工作,但以下解决方案有效,谢谢

标签: android ffmpeg android-ffmpeg


【解决方案1】:

很酷的问题

即使我们找到了解决方案,解决这类问题也很令人困惑 以下链接显示了处理此类问题的一些修复程序 Quoting and escaping

因此,对于您遇到的问题,修复将 ffmpeg cmets 中的每个单词添加到 LinkedList,然后转换为命令数组,以便 ffmpeg 执行它

如下(根据您的要求命令)

List<String> cmdList = new LinkedList<>();
                cmdList.add("-i");
                cmdList.add("/storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4");
                cmdList.add("-acodec");
                cmdList.add("copy");
                cmdList.add("-vcodec");
                cmdList.add("copy");
                cmdList.add("-ss");
                cmdList.add("00:00:10");
                cmdList.add("-t");
                cmdList.add("00:00:20");
                cmdList.add("/storage/emulated/0/1547813275685ChunkClip.mp4");

String[] command  = cmdList.toArray(new String[cmdList.size()]);

希望您的问题将通过此解决方案得到解决

【讨论】:

  • 谢谢老兄,它成功了,最后你的解决方案帮助了我
猜你喜欢
  • 2014-08-31
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 2010-12-23
  • 2016-01-30
  • 2022-10-05
相关资源
最近更新 更多