从需要使用ffmpeg登录的站点下载 [英] Download from sites that require a login using ffmpeg

查看:0
本文介绍了从需要使用ffmpeg登录的站点下载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从一个需要使用FFmpeg登录的网站下载HLS视频,这意味着我必须输入我的用户名和密码才能访问视频,我不知道如何通过FFmpeg输入登录信息... 有人能帮帮我吗?

推荐答案

HLS是一种自适应流媒体协议,通过将视频文件分成多个不同数据速率的小块,可以自动调整视频流,从而获得更好的视频播放体验。因为现在你有很多小块,你不能直接下载视频。事实上,您甚至找不到指向该视频文件的直接下载链接。

但是,如果您在浏览器中使用开发人员工具仔细查看网络请求,则可以获得扩展名为.M3U8的清单文件。此文件包含指向所有较小视频块的URL。

如果视频不受DRM保护(大多数情况下会受DRM保护),您可以使用ffmpeg,如下所示:

ffmpeg -i "http://xyz.domain.com/video_url.m3u8" -c copy -bsf:a aac_adtstoasc "output.mp4" 

但根据您的解释,此网站似乎有某种身份验证机制来观看内容,这意味着视频最有可能受到DRM保护。

在这种情况下,您需要通过手动查看清单文件从浏览器中的开发人员工具中找到密钥ID和密钥。这可以通过创建将返回所有视频片段的清单解析器MASID来编程来完成。音频片段、视频密钥ID和音频密钥ID。

然后将密钥ID和密钥存储在词典中,以供以后检索。

现在您有了密钥ID和密钥,然后可以使用如下所示的密钥使用ffmpeg:

来解密每个数据段
ffmpeg -y -decryption_key {key} -i {segment_filename} -codec copy -metadata title={video_title} dec_{filename}

最有可能的情况是,您需要分别对视频和音频执行此操作,然后对它们进行解密,然后再将它们多路复用在一起,以获得包含音频和视频的原始文件。

请注意,这不是一项容易的任务,但需要对特定服务提供商的请求和响应进行一些手动调查。

还请注意,建议的解决方案/想法仅用于研究目的,不应用于任何非法活动。

这篇关于从需要使用ffmpeg登录的站点下载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆