【问题标题】:Speed change command fails when audio stream is not present in video - ffmpeg当视频中不存在音频流时,速度更改命令失败 - ffmpeg
【发布时间】:2016-11-08 04:16:30
【问题描述】:

我正在尝试通过以下命令更改不包含音频流的视频的速度

String[]{"ffmpeg", "-y", "-i", orginalFile, "-threads", "5", "-preset", "ultrafast", "-strict", "experimental", "-filter_complex", "[0:v]setpts=0.50*PTS[v];[0:a]atempo=2.0[a]", "-map", "[v]", "-map", "[a]", "-b", "2097k", "-ab", "48000", "-ac", "2", "-ar", "22050", "-vcodec", "mpeg4", destinationFile};

命令失败,表明视频没有音频流那么,我是否需要检查视频中是否存在音频流,或者在这种情况下我可以做些什么?

【问题讨论】:

    标签: android video ffmpeg audio-streaming video-editing


    【解决方案1】:

    如果您使用特定于流的过滤器链,您使用的应该能够处理所有文件 - 有或没有音频。

    使用

    String[]{"ffmpeg", "-y", "-i", originalFile, "-threads", "5",
             "-map", "0:v", "-map", "0:a?",
             "-vf setpts=0.50*PTS", "-vcodec", "mpeg4", "-preset", "ultrafast", "-b:v", "2097k",
             "-af atempo=2.0", "-b:a", "48000", "-ac", "2", "-ar", "22050",
             "-strict", "experimental", destinationFile}
    

    【讨论】:

    • 谢谢@Mulvya!它不起作用,在 "0:a?" 处给出错误,错误是“不匹配任何流”
    • 好的,它在 v2.8 或更高版本中可用,或者从 15 年 7 月起在夜间构建中可用。
    • 其实我使用的是从 ffmpeg 派生的库。详情link
    【解决方案2】:

    您需要在运行命令之前检查视频(使用 ffmpeg -i ) 您将在 vk.log 中获得信息。 解析它,看看你是否有音频。 然后运行正确的命令。

    【讨论】:

      【解决方案3】:

      选项-map a只接受有音频流的视频,有些视频没有音频。你需要使用-map 0。两种情况的解决方案是你使用?:

       -map [a?]
      

      ? 让 ffmpeg 仅在流存在时映射流。

      【讨论】:

      • 谢谢@phongvan 我试过的方法在这里不起作用:String[]{"ffmpeg", "-y", "-i", orginalFile, "-threads", "5", “-preset”、“超快”、“-strict”、“实验”、“-filter_complex”、“[0:v]setpts=0.50*PTS[v];[0:a]atempo=2.0[a]” 、“-map”、“[v]”、“-map”、“[a?]”、“-b”、“2097k”、“-ab”、“48000”、“-ac”、“2” , "-ar", "22050", "-vcodec", "mpeg4", destinationFile};
      • 你可以试试:String[]{"ffmpeg", "-y", "-i", orginalFile, "-threads", "5", "-preset", "ultrafast", “-strict”、“实验”、“-filter_complex”、“[0:v]setpts=0.50*PTS[v];[0:a]atempo=2.0[a]”、“-map”、“[v ]”、“-map”、“0:a?”、“-b”、“2097k”、“-ab”、“48000”、“-ac”、“2”、“-ar”、“22050” ,“-vcodec”,“mpeg4”,destinationFile}; ?
      • 那行不通。尝试`String[]{"-ss", lastTime, "-i", selectedVideoPath, "-t", now, "-filter:v", "setpts=0.5*PTS","-strict", "-2 ", 视频路径};`
      猜你喜欢
      • 2019-08-29
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 2013-11-17
      • 2019-03-13
      • 2021-11-27
      • 2016-05-12
      • 2013-09-29
      相关资源
      最近更新 更多