gpt4 book ai didi

java - FFmpeg 音频不同步问题

转载 作者:行者123 更新时间:2023-12-02 22:54:47 24 4
gpt4 key购买 nike

我已经看到了大量关于这些的线程,但我的问题似乎没有任何改变。

目前在我的 Java 程序中,我正在调用命令行并使用此命令。

ProcessBuilder builder = new 
ProcessBuilder(
"cmd.exe", "/c", "ffmpeg -y -i " + "\"" + inputFile + "\" -vcodec libx264 -async 1 -f mp4 " + " -ss " + offset + " -c copy -t " + duration + " " + "\"" + outputFile + "\"");

最初 -vcodec、-async 和 -f mp4 不存在,但为了希望纠正音频,它们已被放置在那里。

音频滞后约 1-2 秒,我想知道是否有人有任何想法?我还尝试手动设置帧速率,但仍然无效。

这是另一个失败的尝试。
ProcessBuilder builder = new 
ProcessBuilder(
"cmd.exe", "/c", "ffmpeg -y -i " + "\"" + inputFile + "\" -vcodec libx264 -async 1 -acodec libfaac -ab 128k -ac 2 -bt 5000k -b 5000k -r 59.940 -threads 0 -f mp4 " + " -ss " + offset + " -c copy -t " + duration + " " + "\"" + outputFile + "\"");

输入和输出文件以及偏移量和持续时间都很好,请不要质疑这一点。

快速编辑!

输入文件将始终具有扩展名 .flv

另一个编辑
当我删除偏移量和持续时间参数并改用 copyts 时,整个文件将转换为 mp4 并同步音频。问题似乎在于偏移量和持续时间,因为我之前尝试过使用这两个副本,但它仍然是不同步的。

当前的
ProcessBuilder builder = new 
ProcessBuilder(
"cmd.exe", "/c", "ffmpeg -y -i " + "\"" + inputFile + "\"" + " -c copy -copyts " + "\"" + outputFile + "\"");

最佳答案

在您的原始命令(顶部的那个)中,替换 -c copy-c:a copy .您可以摆脱 -async 1 .

关于java - FFmpeg 音频不同步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39597581/

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