MOV 转 WMV-HD 小记

事情总会忘记,还是记下来比较好。

最近高清电影转 WMV-HD 的工程进行得差不多了,看到还有一个《Big Buck Bunny》没有处理,随手拖进 Expression Encoder 2。等视频压好之后发现,这部片用的是 MOV 封装(“艺术”的格式),音频是 AAC 5.1。这下可麻烦了。

Google 了一下,貌似 Yamb + MP4Box 可以 demux mov。但是实际上只能 demux 出 AVC 视频,对 AAC 5.1 完全无效。

转了好多地方,后来意外发现 mpeg4ip tools 工具集,其中包括很多使用的小程序。
[2016-07-28 修复链接,若链接再次失效,可以搜索“mpeg4ip windows binary”]

首先,用 mp4info.exe 看一下 mov 内部各轨 ID。

mp4info.exe big_buck_bunny_1080p_h264.mov
Track   Type    Info
1       video   H264 [email protected], 596.458 secs, 9283 kbps, 1920x1080 @ 24.000013 fps
2       tmcd
3       audio   MPEG-4 AAC LC, 596.480 secs, 438 kbps, 48000 Hz

可以看到 Track 1 是视频轨,Track 3 是音频轨。

接下来,用 mp4creator.exe 分离音频轨。(不要被文件名迷惑了)

mp4creator.exe big_buck_bunny_1080p_h264.mov -extract=3

然后再用 AAC Decoder Demo 解码成为多音轨 WAV。很简单,选好 InFile 和 OutFile 之后按 Decode 就可以了。

345_aac_decoder_demo.jpg

拿到多音轨 WAV 之后可以用 eac3to 来分离各音轨。

eac3to.exe bbb.wav bbb.wavs -resampleTo48000 -quality=4
WAV, 5.1 channels, 0:09:56, 24 bits, 48khz
Reading WAV...
Writing WAVs...
Creating file "E:\BTDownload\bbb.L.wav"...
Creating file "E:\BTDownload\bbb.R.wav"...
Creating file "E:\BTDownload\bbb.LFE.wav"...
Creating file "E:\BTDownload\bbb.SL.wav"...
Creating file "E:\BTDownload\bbb.SR.wav"...
Creating file "E:\BTDownload\bbb.C.wav"...
eac3to processing took 55 seconds.
Done.

拿到 6 个独立 WAV 音轨就可以转 WMA 5.1 了。

总结:AAC 5.1 转 WMA 5.1 比较麻烦,遇到 MOV 封装更麻烦。好在网络上工具不少,总有一款能满足需要。

仅有 1 条评论
  1. xiaoke xiaoke

    不明白你这样做的意义何在,H.264难道不如WMV的好吗?而且这种Re-Encode的工作不仅耗,还会对画质音质有进一步的损失,可以预见你转出来的wmv的画质会比原片更差且文件更大,音质更差(aac和wma的差距实在太大,况且还是re-encode),播放兼容性更差……

添加新评论