【问题标题】:Wav file duration of Windows media player is not same with ffmpegWindows 媒体播放器的 Wav 文件持续时间与 ffmpeg 不同
【发布时间】: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


【解决方案1】:

ffmpeg 结果如下。

ffmpeg version git-2020-05-28-c0f01ea Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200523 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 49.100 / 56. 49.100 libavcodec 58. 89.100 / 58. 89.100 libavformat 58. 43.100 / 58. 43.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 83.100 / 7. 83.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Input #0, wav, from '1.wav': Duration: 00:06:17.50, bitrate: 63 kb/s Stream #0:0: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, mono, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> mp3 (mp3_mf)) Press [q] to stop, [?] for help [mp3_mf @ 000002e13cca9100] MFT name: 'MP3 Encoder ACM Wrapper MFT' Output #0, mp3, to 'out.mp3': Metadata: TSSE : Lavf58.43.100 Stream #0:0: Audio: mp3 (mp3_mf), 44100 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc58.89.100 mp3_mf size= 2816kB time=00:03:14.50 bitrate= 118.6kbits/s speed= 388x size= 5887kB time=00:06:17.54 bitrate= 127.7kbits/s speed= 393x video:0kB audio:5886kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.007665%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多