首页 > 解决方案 > 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) ""

标签: phpffmpegpopenfread

解决方案


推荐阅读