ffmpeg:视频文件在 Ubuntu 上播放正常,但在 XP 上没有声音

ffmpeg:视频文件在 Ubuntu 上播放正常,但在 XP 上没有声音

我使用 ffmpeg 创建了一个视频剪辑(vcodec: mpeg2videoacodec: AC3 5.1)。

该文件可以在 Ubuntu 上正常播放,但在 XP 机器上播放时没有声音。我可以播放 AC3 文件和其他带有 AC3 声音的电影。我已经尝试了许多编解码器包和许多播放器。

当我将文件属性窗口的 MediaInfo 选项卡与另一部可播放的电影进行比较时,我看到音频识别器我的文件中的音频流与0x80另一0x02部电影中的音频流相同。

所以我猜这就是 XP 上的播放器无法识别音频编解码器的原因。当我使用 MKV 容器而不是 MPEG(静态mpeg2video编解码器)时,Ubuntu 和 XP 上的结果都是正常的(具有正确的音频 ID)。但我确实需要 MPEG。

任何想法?

这是我使用的命令:

~/ffmpeg/ffmpeg/ffmpeg -loop_input \
  -t 97 -r 30000/1001 -i v%4d.tga -i final.ac3 \
  -vcodec mpeg2video -qscale 1 -s 400x400 -r 30000/1001 \
  -acodec copy -y out6.mpeg 2

这是 mediainfo 的输出(在 Ubuntu 上):

General
Complete name                    : out6.mpeg
Format                           : MPEG-PS
File size                        : 6.86 MiB
Duration                         : 1mn 37s
Overall bit rate                 : 593 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : No
Format settings, Matrix          : Default
Format_Settings_GOP              : M=1, N=12
Duration                         : 1mn 37s
Bit rate mode                    : Variable
Bit rate                         : 122 Kbps
Width                            : 400 pixels
Height                           : 400 pixels
Display aspect ratio             : 1.000
Frame rate                       : 29.970 fps
Resolution                       : 8 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.025
Stream size                      : 1.41 MiB (21%)

Audio
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Duration                         : 1mn 36s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 44.1 KHz
Stream size                      : 5.18 MiB (75%)

答案1

经过长时间的努力解决这个问题后,我找到了一种解决方法:

第一次使用 ffmpeg 进行编码,没有声音

ffmpeg -loop_input -t 97 -r 30000/1001 -i v%4d.tga -s 400x400 \
-vcodec mpeg2video -acodec copy -f mpeg -y -r 30000/1001 test7.mpeg

然后使用 mencoder 合并视频和声音

mencoder -of mpeg -ovc copy test7.mpeg \
-audiofile Final.ac3 -oac copy -o test8.mpeg

mediainfo 的输出与之前几乎相同,但声音现在没问题了。我不知道为什么。我尝试用 cmp 比较这两个文件,但差异太大,所以我什么也找不到。

希望以后能用ffmpeg一步完成所有操作。

相关内容