我正在使用 ffmpeg 创建一个 hls 流。源是具有多个音轨的 mkv。我试过使用 -map
也可以指定音频流。我还发现,当我将 ffmpeg 指向文件中的任何其他音频流时,它可以工作。这只是第一个没有的音频流。有一次我替换了 -c copy
与 -acodec aac -ac 6
在第一个流上,我得到了很棒的声音,但我只想复制流而不是重新编码。我尝试的下一件事是使用我拥有的其他 mkv 视频。都反射(reflect)了同样的问题。 mkv 本身可以在 VLC 中播放音频和视频。播放 output.m3u8
时在 VLC 中,选择不同音轨的选项是灰色的。这是我正在使用的命令:
ffmpeg -i "./video.mkv" -ss 00:00:00 -t 00:00:30 -c copy -f hls "output.m3u8"
我希望我的 hls 流的音频能够反射(reflect) mkv 源的音频:尽管我从上面的命令返回的内容没有发出任何声音并在 mediaInfo 中显示:
我也注意到 hls 不支持 pcm。因为它是 pcm,dash 是否可以与此流一起使用?
最佳答案
HLS 段可以是 MPEG-TS 或分段 MP4。两者都没有正式支持 PCM 音频,因此您必须对其进行转换。
DASH 使用分段的 MP4 作为分段格式。
关于Ffmpeg -c 复制不将音轨从 mkv 转移到 hls 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70141103/