将 HLS (m3u8) 转换为 MP4 [关闭]

Posted

技术标签:

【中文标题】将 HLS (m3u8) 转换为 MP4 [关闭]【英文标题】:Converting an HLS (m3u8) to MP4 [closed] 【发布时间】:2016-01-11 12:35:43 【问题描述】:

谁能建议如何从HLS 流构造MP4 文件(与您通常想要的相反)?假设我有 m3u8 - 有没有使用 FFMPEG 或其他工具获得单个 MP4 的简单方法?

【问题讨论】:

ffmpeg -i in.m3u8 -acodec copy -vcodec copy out.mp4 @szatmary 我认为它也需要-bsf:a aac_adtstoasc @aergistal for aac audio yes, for mp3 audio no. @szatmary 当然,但我认为 HLS 中的 AAC 很常见 @aergistal 和 MP3 一样。和DD+ 【参考方案1】:

ffmpeg -i in.m3u8 -acodec copy -vcodec copy out.mp4

对于 AAC 音频,您还需要添加比特流过滤器。 (感谢@aergistal 指出这一点)

ffmpeg -i in.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy out.mp4

【讨论】:

嗨。你能帮我快速做到这一点吗?我想下载 m3u8 文件但由于它不支持而无法保存,现在我想在 swift 中转换为 mp4 好的,请在 *** 上提出一个问题,详细说明您遇到问题的具体步骤,我很乐意提供帮助。 嗨。看到你的评论我真的很高兴,我在这里发布了问题,你可以看看:***.com/questions/54274457/… 此命令是否会生成一个 MP4 文件,其中包含来自 HLS 的所有备用音轨和边车 VTT 字幕,以在 MP4 中刻录字幕和音轨?【参考方案2】:

将 HLS 转换为 MP4 的另一种方法是使用 VLC 播放器。您可以通过界面和命令行进行转换。只需运行 .bat 文件,该文件包含以下几行:

chcp 65001
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/c07f21e3-a313-4e8d-b594-403ddefbf11f.mp4/playlist.m3u8 --sout "#transcodevcodec=none,acodec=mp3,ab=70,channels=2,samplerate=44100:stdaccess=fileno-overwrite,mux=mp3,dst='C:\Users\aidata\Desktop\Akra FM\13.07.2013 - Karagöz - Bilmecesi.mp3'" vlc://quit
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/dcb6754a-49f1-4517-bfe4-3864942f63c8.mp4/playlist.m3u8 --sout "#transcodevcodec=none,acodec=mp3,ab=70,channels=2,samplerate=44100:stdaccess=fileno-overwrite,mux=mp3,dst='C:\Users\aidata\Desktop\Akra FM\12.07.2013 - Nasreddin Hoca - Köyün Eseği.mp3'" vlc://quit

这个批处理脚本一个接一个地转换两个文件。如果您将这些命令粘贴到 cmd.exe 中,所有转换将同时开始。


现在让我解释一下代码。 chcp 65001 行允许您在目标文件名中使用 unicode 字符。以下几行由四部分组成。

    "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"

这是 VLC 播放器的路径。安装 VLC 播放器后验证。

    http://cdn.haramain.global/vods3/_definst_/mp4:amazons3/akra/programlar/yeni/335/c07f21e3-a313-4e8d-b594-403ddefbf11f.mp4/playlist.m3u8

这是一个示例 HLS 文件。我不知道如果你把这个链接放在双引号里会发生什么。

    --sout "#transcodevcodec=none,acodec=mp3,ab=70,channels=2,samplerate=44100:stdaccess=fileno-overwrite,mux=mp3,dst='C:\Users\aidata\Desktop\Akra FM\13.07.2013 - Karagöz - Bilmecesi.mp3'"

这是用于转换的 VLC 命令。您可以在VLC Documentation 中找到更多选项

    vlc://quit

这将关闭 VLC 窗口。如果您不希望您的任务栏充满 VLC 窗口,这将很有帮助。无法在播放列表中堆叠转换顺序。您必须运行 VLC,进行转换并关闭窗口。您也可以尝试在静默模式下运行 VLC。或者您可以将 VLC 窗口拖到屏幕的右下方,这样后续闪烁的窗口就不会打扰您了。

【讨论】:

以上是关于将 HLS (m3u8) 转换为 MP4 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用ffmpeg把mp4与m3u8相互转换的操作

如何将下载多个m3u8的小视频合并转换为MP4或是其他完整的视频?????

text 将MP4转换为HLS

sh 使用FFMPEG将m3u8转换为MP4

如何将m3u8文件转成MP4?

m3u8格式转换mp4