使用 ffmpeg 将直播从 m3u8 录制到管道会导致视频没有音频

问题描述

我对 ffmpeg 不是很好,所以这段代码是我通过反复试验创建的。 我正在使用来自 VB.net 的 ffmpeg 和参数:

Dim CL As String = "-y -i " & Chr(34) & URL & Chr(34) & " -t " & Time & " -acodec copy -vcodec copy -f mpeg pipe:pipe1"

视频最终没有音频。我尝试删除“-acodec copy”和“-vcodec copy”并使用“-map 0”,这会创建带有音频的视频,但质量要低得多。我想保持质量并仍然有音频。

解决方法

在浏览文档后,我发现有一种名为 mpegts 的格式(它似乎是 m3u8 包含的文件之一),因此我尝试将代码更改为

Dim CL As String = "-y -i " & Chr(34) & URL & Chr(34) & " -t " & Time & " -acodec copy -vcodec copy -f mpegts pipe:pipe1"

它保持了质量并有音频。