ffmpeg - 我们指定使用 ffmpeg 的 Mozilla、MacOS 和 Safari 版本有什么区别?

标签 ffmpeg macos-catalina

我遇到了这段代码,用于下载 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。

有人能解释一下意义吗?

最佳答案

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

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

关于ffmpeg - 我们指定使用 ffmpeg 的 Mozilla、MacOS 和 Safari 版本有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60503887/

相关文章:

bash - 从多个 mp4 文件中批量提取帧

c++ - FFmpeg libswresample 链接器错误

file - Ubuntu 12.04 重定向命令不起作用

c - 当工作区位于 ~/src 而不是/tmp 时,VS Code 在 "stdio.h"下显示红色曲线

swift - 在不使用 CGWindowListCreateImage 函数的情况下将桌面捕获为图像

macos - gdb 在 mac os catalina 上调用 `run` 后挂起

ffmpeg - 如何从 C 写入 avlibs AVOptions

python - FFMPEG python检查字典键是否存在

swift - 代码 : Interface Builder using wrong destination to render IBDesignable

升级到 Catalina 10.15 后无法在 Mac 上编译 C 程序