LifeActor / ykdl

a video downloader focus on China mainland video sites.(一款专注于中国大陆视频网站的视频下载器。)
https://github.com/LifeActor/ykdl
Other
1.45k stars 285 forks source link

下载合并mpeg ts格式特别慢 #618

Closed fraic closed 1 year ago

fraic commented 1 year ago

douyu录像,ts全部下载完后ffmpeg合并速度特别慢,几乎需要和视频长度等同的时间

看了一下代码,似乎会执行上面的命令 https://github.com/SeaHOH/ykdl/blob/2d8f63c25a21ecd771364accc2f5eedd33cdd6df/ykdl/util/external.py#L148-L189

ffmpeg会报一个警告:Thread message queue blocking; consider raising the thread_queue_size option

直接用下面的命令就会快得多

SeaHOH commented 1 year ago

不好意思,居然在你关闭后才看到。

之所以使用当前的合并方式是因为这样才能保证时间戳正确,详见 #399 。 至于速度慢,大概是因为每次中转的数据块太小,系统中断调用也相应大量增加,你改成 bufsize = 1 << 22 试试能否改善。

Thread message queue blocking 警告之前也有反馈,导致发生的原因可能不特定。

fraic commented 1 year ago

@SeaHOH 感谢回复

关闭是因为在另一台设备上运行正常。

改成 bufsize = 1 << 22 也没有改善。 感觉与ffmpeg版本、运行环境等有关。

SeaHOH commented 1 year ago

关闭是因为在另一台设备上运行正常。

改成 bufsize = 1 << 22 也没有改善。

谢谢!你反馈的信息很有价值。