【发布时间】:2014-03-02 00:24:28
【问题描述】:
我在一个项目中使用YoutubeDL library。我的环境基于 WINDOWS,以 XAMPP 作为网络服务器边界(apache、php、mysql 等)。我正在使用 youtube-dl.exe 文件下载视频,然后使用 ffmpeg.exe 将视频转换为 MP3 音频文件。
目前,我遇到了一个与编程相关的问题:我想在使用 youtube-dl.exe 文件下载视频时实时显示进度条。此 exe 会创建一个日志文件,该文件会在下载视频时更新。因此,我的方法是创建一个 PHP 文件,该文件打开、解析日志文件并获取进度百分比,并将其作为 json 编码值发送到每 100 毫秒调用一次的 AJAX 函数。确实,如果视频太大,在轮询 PHP 文件以获取进度状态时会有非常多的数据。有时,浏览器会因为这个 ajax 轮询而崩溃或死机。
我的问题是:有没有更好的方法来使用 PHP/AJAX 做到这一点?不是每 100 毫秒或 50 毫秒轮询一次文件?
【问题讨论】:
-
Rosh 你能分享一下你是如何在文件上打印下载进度的吗?我也在windows和xampp上,但我尝试popen ytdl然后写一个txt,但由于某种原因我无法在文件中得到任何东西..你能分享你的方法吗?
标签: php ajax video youtube ffmpeg