LifeActor / ykdl

a video downloader focus on China mainland video sites.
https://github.com/zhangn1985/ykdl
Other
1.43k stars 284 forks source link

斗鱼连接ffmpeg断流 #641

Closed hailiangchen closed 1 week ago

hailiangchen commented 2 weeks ago

image

我在保存斗鱼的直播信息时遇到一个问题:我获获取到了斗鱼的 ffmpeg 执行参数。

['ffmpeg', '-y', '-hide_banner', '-headers', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.1) Gecko/20100101 Firefox/60.1\r\nReferer: https://www.douyu.com\r\n', '-i', 'https://tc-tc2-interact.douyucdn2.cn/dyliveflv3/8701239rFunUuCQ9.flv?wsAuth=18bd380b5d9c5bab3f188c446f9c5948&token=web-h5-0-8701239-a60eaf91ba9fd2716f7f70f62be760c7ef835ef699bcafde&logo=0&expire=0&did=15d4d3a81e4143249fb611ec72b3ae6f&pt=2&st=2&sid=398776774&mcid2=0&origin=tct&mix=0&isp=', '-c', 'copy', '-bsf:a', 'aac_adtstoasc', '距离你2km 优质妹妹在线等 - 莱菓一倾城佳人_OG_2024-08-29T18꞉04꞉27.flv']

我通过 这种方式执行的时候,遇到了断流问题,执行直接就结束了 image

image

为什么使用ykdl 执行ffmpeg 不会断流,我自己执行ffmpeg就会断流呢?

SeaHOH commented 2 weeks ago

没法复现,你有看见什么错误信息吗?如果下载因故中断,FFmpeg 应该会有报告才是。

另外,有点好奇,你这么做是个什么目的,什么样的场景会采用如此操作呢?

hailiangchen commented 2 weeks ago

没法复现,你有看见什么错误信息吗?如果下载因故中断,FFmpeg 应该会有报告才是。

另外,有点好奇,你这么做是个什么目的,什么样的场景会采用如此操作呢?

同样的连接,我直接用ffmpeg拉取,没有报错执行几秒钟就结束了。 我没有什么场景,我就是在学习,怎么保存的直播流。 复现方式:

ykdl 斗鱼直播连接 ; 程序会调用ffmpeg执行保存直播流。然后我就自己按照你调用ffmpeg的方法,写了个test方法,把采集到直播流连接,复制到我程序里面,调用ffmpeg ,结果执行几秒钟就结束了。

SeaHOH commented 1 week ago

这只是些字符串,除非你将之运行于不同的网络环境,不然我想不到还有什么其它问题。

FFmpeg 非正常停止一般都有报告错误,比如连接超时、 HTTP 失败代码、数据错误、连接中断等。