下载流媒体视频,其中许多xhr部分分开进行音频和视频处理

开发者

我想下载流视频。当我转到Chrome DevTools->网络而不是指向mp4视频的链接时,我发现有很多类似的链接...hd4b.mp4/fragment-1-v1.m4s和其他类似...a1.m4s的音频链接还有一个首字母...hd4b.mp4/init-v1.mp4...init-a1.mp4片段太多,无法手动复制。

因此,我需要知道如何为我想要的.mp4文件过滤所有.m4s片段链接。这里有一个答案,它为我提供了网络中的所有链接,执行该链接后,我可以将链接粘贴到文件中,但是它也会获得不属于我想要的.mp4的链接。并不重要,但仅获取的链接会很好...hd4b.mp4

如何将视频链接保存在一个文件中,将音频链接保存在另一个文件中?

我应该如何处理这些init链接?将它们添加到列表中?

现在,我认为,获取链接的方法将是到视频末尾并获取最后一个数字,并生成将数字从一个更改为最后一个的链接。我将如何生成链接?回答

然后,当我拥有链接时,可以通过以下方式下载它们,但是如何合并视频部分?

当我拥有音频和视频时,如何将它们合并到最终的mp4中?

开发者

youtube-dl

尝试使用最新版本下载视频。如果您无法按照步骤进行。

首先获得链接

在Chrome中,转到DevTools->网络,然后找到第一个和最后一个片段链接。如果链接是顺序的,则生成如下链接:

seq -f "...hd4b.mp4/fragment-%g-v1.m4s" 10 > video-links.txt

%g从1将去10.如果有它必须被包括在年初一个init链接video-links.txt文件。

如果链接不是顺序的,则复制它们,如下所示:

  1. 将devtools切换到分离的窗口(单击devtools设置图标,单击“停靠边”取消停靠图标)。接下来的时间,你可以简单地按Ctrl- - ShiftD
  2. 调用devtools换devtools按Ctrl- Shift-i
  3. 运行以下代码,将所有/过滤的请求的URL复制到剪贴板: copy(UI.panels.network._networkLogView._dataGrid._rootNode._flatNodes.map(n => n._request._url).join('\n'))

您可以在“源代码”面板中将代码另存为代码段,然后通过右键单击或按Ctrl-Enter来运行它:

var URLs = UI.panels.network._networkLogView._dataGrid._rootNode._flatNodes.map(n => n._request._url);
copy(URLs.join('\n'));
URLs; // displays it in the console as an expandable array

执行脚本后,链接位于剪贴板中,因此请将其粘贴到文件中。

下载视频和音频

wget -i "video-links.txt" -O "video.mp4" -B "...hd4b.mp4/"

在URL的基础上使用-B选项。

按照与视频相同的步骤下载音频。

合并视频和音频

ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章