如何允许我的用户组合音频和视频轨道来下载 YouTube 视频?

问题描述 投票:0回答:1

我有一个网站,里面有一堆文本,有嵌入的 YouTube 视频可以播放。我想让我的用户也能够下载这些视频。有太多视频无法存储在我自己的服务器上,我知道已经有像 y2mate.com 和 savefrom.net 这样的网站可以执行此操作。

我使用 yt-dlp 并使用

--print-json
参数我可以获取下载文件的网址,但音频和视频轨道不会合并以获得更高的视频。使用 ffmpeg 似乎是显而易见的解决方案,但我不明白应该在哪里组合视频。我是否应该在服务器上下载所需的两个曲目并将它们组合起来,然后再将其提供给用户?这看起来效率很低,因为它需要大量带宽来处理所有下载请求。还有这个库 ffmpeg.wasm,根据他们的说法,它是“FFmpeg 的纯 WebAssembly / JavaScript 端口,可以在浏览器内进行视频和音频录制、转换和流式传输!

这应该可行,但需要用户先下载 30MB 的网络应用程序,然后才能下载任何视频。这也不是很有效,特别是当他们下载的视频只有几 MB 大小时。

这是我仅有的两个选择,还是有更好的方法来做到这一点?

ffmpeg youtube yt-dlp ffmpeg-wasm
1个回答
0
投票

您不必手动合并音频和视频格式,因为有预定义的开关可以执行此操作。对于您的用例,请从这一行开始:

yt-dlp -f "bv+ba" <your-video-url>
该选项是:

-f
:选择格式
-bv
:可用的最佳视频
-ba
:最好的音频

但是,请做好强迫用户下载数百兆字节的准备。 2 分钟视频的大小约为 500 MB

© www.soinside.com 2019 - 2024. All rights reserved.