php - popen 执行一次后,php fread 返回空
问题描述
我正在尝试使用 popen 从 ffmpeg 命令获取实时输出,但在循环中执行一次后它返回空。
<?php
$a = popen('ffpb -i mymovie.mp4 -vf subtitles=subtitles.srt mysubtitledmovie.mp4 2>&1', 'r');
while (true) {
$b = fread($a, 2096);
var_dump($b) . "<br>\n";
ob_flush();
flush();
sleep(1);
}
输出 ::
mymovie.mp4: 0%| | 0/61080.0 [00:00<?, ? frames/s]"
string(105) "Unexpected exception: 'ascii' codec can't encode characters in position 43-47: ordinal
not in range(128)
"
string(0) ""
string(0) ""
string(0) ""
解决方案
推荐阅读
- coinbase-api - 我可以使用 coinbase 为将在 Apple Store/Google Play 上的市场应用程序转移稳定币吗?
- .net - 链接已被 CORS 策略阻止:没有“访问控制允许来源”
- c++ - 如何从两个不同的双向链表中更改两个不同的节点?
- javascript - Linux 和 MacOS 上的 Webpack 开发服务器热重载,但 Windows 上没有?
- python - 为什么启动 Numba cuda 内核最多可使用 640 个线程,但在有大量可用 GPU 内存时会因 641 而失败?
- react-native - 如何在从我的反应本机应用程序共享/发布文本到 Facebook 时避免“登录”
- python - 计算熊猫中的数组
- directus - 使用 SQL 插入图像
- dask - 在雪花中使用时间戳索引时出错
- python - TensorFlow 在导入期间失败:“ImportError: cannot import name 'mirrored_strategy_with_two_gpus_no_merge_call'”