
1 ysc3839 2022 年 12 月 21 日 via Android 改代码? |
2 icoming 2022 年 12 月 21 日 你访问那个图片 URL 看看,提示找不到。 |
3 mikewang 2022 年 12 月 21 日 链接已经失效了。换了一集试了下,这个视频站非常的狡猾,在 TS 片段前加上了 PNG 头部,迷惑图床,从而利用 CDN 的流量。 显然 ffmpeg 是被骗了,无法解码;而 Chromium 没有被骗,所以浏览器可以正常播放。 这个时候,需要手动下载 m3u8 的内容,然后向 FFmpeg 指定格式即可。 wget https://....../../index.m3u8 grep '.png' index.m3u8 | xargs curl > video.ts ffmpeg -f mpegts -i video.ts -codec copy video.mkv |
4 mikewang 2022 年 12 月 21 日 |
5 estk OP @mikewang #3 所以只能手动下载所有切片,没有 ffmpeg 的其它参数可以让它忽略这个 content-type 直接下载? |
6 jiulang 2022 年 12 月 21 日 反向代理来修改 |
7 jifengg 2022 年 12 月 21 日 我碰到过一些网站是这么搞的,但是,他不仅仅是只动了 content-type ,他文件存储的时候,就是在前面加了固定字节的 png 内容,所以 ffmpeg 去解码的时候会认为这是一个 png 图片。网页可以正常播放应该是内嵌的播放器做了处理。 我以前写过一个下载的脚本,用的笨方法就是自己解析 m3u8 文件,下载里面的文件,截掉前面的 n 个字节,再用 ffmpeg 合并。 |
8 Administrat0r 2022 年 12 月 21 日 可以试试我蹭的这个项目 也是解决 png 的问题 https://github.com/orestonce/m3u8d |
9 novolunt 2022 年 12 月 21 日 via iPhone 反向代理图床,改请求头。另外 视频存什么操作 |
10 jeesk 2022 年 12 月 21 日 简单的就是楼上的。否则直接去修改 ffmpeg 源码处理 reponse 的部分 。 |
11 mikewang 2022 年 12 月 22 日 @estk #5 不能,FFmpeg 对于 m3u8 要使用 HLS 这个 demuxer ,而内部 segment 的 demuxer 则是自动判断的,没有提供指定 demuxer 的方法。如果一定要使用 ffmpeg ,则需要修改源码重新编译了。 |
12 Slurp 2022 年 12 月 22 日 PR is welcome. |
14 Kobayashi 2022 年 12 月 22 日 via Android 给个地址? |
15 AngryFootHair 2023 年 1 月 4 日 @mikewang @estk @jifengg 刚刚试了下,123llq.com 123 浏览器 打开 网页 URL Base64: aHR0cHM6Ly9kaWFueWkubmcvcGFseS05VWpxQ1MtMS0xLmh0bWw= 这个页面,成功嗅探到了 m3u8 资源,点击就可以下载了。 |