【发布时间】:2020-08-05 02:53:10
【问题描述】:
有一个wav文件,如果使用windows media player打开它,它的持续时间是06:15。 但是如果使用 ffmpeg 将其转换为 mp3 或使用 ffprobe 检查持续时间,它会显示 06:17。 当然,其他播放器(如 vlc)也显示 06:17。 我需要做的是,使用 ffmpeg 将其转换为 06:15 持续时间的 mp3。
ffmpeg 命令:
ffmpeg -i 1.wav -f mp3 out.mp3
请帮我解决这个问题,谢谢
【问题讨论】:
-
分享
ffmpeg -i 1.wav的完整输出 -
您的 WAV 文件包含 MP3 编码的音频,并且在流的开头显然没有显示启动样本。因此 ffmpeg 在计算持续时间时正在计算该帧。 WMP 不是。只需将数据复制过来 - 无需重新编码:
ffmpeg -i 1.wav -c copy out.mp3 -
感谢您的 cmets。如果我使用 WMP 播放它,它的持续时间是 06:15,而使用 HTML5 音频,它是 06:17,这正是我必须解决的问题。所以我认为它必须转换为 06:15 持续时间的其他格式。添加 -c 副本时我仍然遇到同样的问题。
-
ffmpeg -i 1.wav -af "atrim=start_frame=1,asetpts-PTS-STARTPTS" out.mp3 -
[Parsed_atrim_0 @ 000002a12ab18c00] 找不到选项 'start_frame' [AVFilterGraph @ 000002a12aacafc0] 使用 args 'start_frame=1' 初始化过滤器 'atrim' 时出错 重新初始化过滤器时出错!无法将帧注入过滤器网络:未找到选项 处理流#0:0 的解码数据时出错转换失败!
标签: ffmpeg