我使用 ffmpeg 创建了一个视频剪辑(vcodec: mpeg2video
,acodec: 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一步完成所有操作。