我想将包含 DTS 音频的 MKV 视频文件转换为包含 AC3 音频的流。我想将生成的流传递给 mediatomb 的转码功能。Mediatomb 将通过 DLNA 将流传输到不支持 DTS 音频的 LG 电视。
我尝试了下面的 VLC 命令,但电视无法识别该流,并且在 PC 上播放目标流不会产生声音。
vlc -vvv -I dummy INPUT.file --sout \
'#transcode{acodec=ac3,ab=256k,channels=2,threads=4} \
:std{mux=ts,access=file,dst=DEST.file}'
以下 ffmpeg 命令提供在电视上播放的带声音的流,但 ffmpeg 进程会在 10-15 秒内被终止(信号 15),然后电视会从头开始重新播放。这种情况会循环进行。
ffmpeg -i INPUT.file -acodec ac3 -ab 384k -vcodec copy \
-vbsf h264_mp4toannexb -f mpegts -y DEST.file
我想要一个可以将 DTS 转码为 AC3 的 DLNA 服务器,如能得到任何帮助我将不胜感激。
答案1
我遇到过类似的情况。在 Google 上搜索'mkvdts2ac3'
并使用它。它会提取 DTS 音频、时间码等。然后将其转换为 AC3,再将其与现有视频混合。在我的 Corei7 3.4 GHz 上大约需要 10 分钟左右。
使用它非常简单:
Linux $ mkvdts2ac3.sh Movie.mkv
脚本会处理其余部分。
答案2
老实说,我不太确定。我怀疑 ffmpeg 的转码速度不够快,你的电视在到达结尾时就循环播放。如果没有办法让 mediatomb 在发送流之前缓冲一点,我会给http://www.ps3mediaserver.org/试一试。这是我用过的最好的 DLNA 媒体服务器,你可以很容易地强制它转码为 AC3。
PS 我知道它被称为“PS3”媒体服务器,但它现在支持各种设备。如果您的设备不支持开箱即用,那么创建设备配置文件也非常容易。