首页 > 解决方案 > 我们指定使用 ffmpeg 的 Mozilla、MacOS 和 Safari 版本有什么区别?

问题描述

我遇到了这段代码,用于下载 m3u8 播放列表并将它们连接到 mkv 文件中:

$ ffmpeg -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/537.86.7" -i https://devstreaming-cdn.apple.com/videos/wwdc/2019/901myoscpux9y7nry55/901/hls_vod_mvp.m3u8 -c copy pd.mkv

我的问题是关于脚本的部分:

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/537.86.7"

这些似乎是非常古老的数字。例如,Catalina 是 10.15.3。不知道哪个是最新的 Mozilla,但 Safari 现在是 13.0.5

只是想知道如果版本旧有什么不同,或者我们是否应该更新代码以指定 Mac OS、Mozilla、Webkit 和 Safari 的新版本。

有人能解释一下意义吗?

标签: ffmpegmacos-catalina

解决方案


你应该谷歌“用户代理”来看看它的确切用途。

Ffmpeg 不会对该值做任何事情。它只是作为 http 标头发送到服务器。服务器可能会也可能不会对它做任何事情。它不需要 99.999% 的时间。一些服务器会根据用户代理给出不同的响应以防止网站抓取,但同样,这种情况很少见。如果删除它,ffmpeg 可能仍然可以工作并产生相同的输出。


推荐阅读