Ffmpeg -c 复制不将音轨从 mkv 传输到 hls 流

Ffmpeg -c copy not carrying over audio track from mkv to hls stream

我正在使用 ffmpeg 创建一个 hls 流。源是具有多个音轨的 mkv。我也尝试使用 -map 来指定音频流。我还发现,当我将 ffmpeg 指向文件中的任何其他音频流时,它会起作用。这只是第一个没有的音频流。有一次我在第一个流中用 -acodec aac -ac 6 替换了 -c copy 并且我得到了很棒的声音,但我只是想复制流而不是重新编码它。接下来我尝试使用我拥有的其他 mkv 视频。都在反映同一个问题。 mkv 本身在 VLC 中可以很好地播放音频和视频。在 VLC 中播放 output.m3u8 时,选择不同音轨的选项显示为灰色。这是我正在使用的命令:

ffmpeg -i "./video.mkv" -ss 00:00:00 -t 00:00:30 -c copy -f hls "output.m3u8"

我希望我的 hls 流的音频反映 mkv 源的音频:

尽管我从上面的命令返回的内容没有声音并在 mediaInfo 中显示: 我还注意到 hls 不支持 pcm。破折号是否可以用于此流,因为它是 pcm?

HLS 片段可以是 MPEG-TS 或分段的 MP4。两者都没有正式支持 PCM 音频,所以你必须转换它。

DASH 使用碎片化的 MP4 作为分段格式。