Ffmpeg -c 复制不将音轨从 mkv 转移到 hls 流

标签 ffmpeg video-streaming vlc http-live-streaming plex

我正在使用 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 源的音频:
enter image description here
尽管我从上面的命令返回的内容没有发出任何声音并在 mediaInfo 中显示:enter image description here
我也注意到 hls 不支持 pcm。因为它是 pcm,dash 是否可以与此流一起使用?

最佳答案

HLS 段可以是 MPEG-TS 或分段 MP4。两者都没有正式支持 PCM 音频,因此您必须对其进行转换。
DASH 使用分段的 MP4 作为分段格式。

关于Ffmpeg -c 复制不将音轨从 mkv 转移到 hls 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70141103/

相关文章:

javascript - 通过 Dash 将原始 h.264 数据编码到浏览器

streaming - 使用 VLC 将文件流式传输为 RTSP

PHP exec 或 shell_exec 未在 Windows Wamp 上返回进程 ID (PID)

c++ - 视频文件和媒体流中PTS的困惑

android - 同时流畅地一个接一个地播放视频 [没有明显的从一个视频切换到另一个视频]

iphone - 是否可以使用蓝牙将高清视频从一台 iOS 设备流式传输到另一台?

c# - 我可以将 System.IO.Stream 与 A​​ctiveX VLC 控件一起使用吗?

java - 在 vlcj 中播放实时 http 流

ffmpeg - 从不完整的视频文件中提取元数据

android - 如何在android studio中使用Ffmpeg?