FFProbe 获取编解码器

tim*_*vin 3 php ffmpeg ffprobe

我已经尝试了许多使用 FFProbe 获取视频编解码器的不同示例,包括这个示例,但除了偶尔的[/STREAM].

这就是我目前正在尝试的

$codec = exec("ffprobe -v error -show_entries -show_streams stream=codec_name {$input['filename']}");
Run Code Online (Sandbox Code Playgroud)

这个也试过了...

$codec = exec("ffprobe -v quiet -print_format json -show_format -show_streams {$input['filename']}");
Run Code Online (Sandbox Code Playgroud)

我知道视频很好,并且可以在 CLI 上运行,因为当我使用以下内容获取持续时间时,我得到了预期的结果

$duration = exec("ffprobe {$input['filename']} -show_format 2>&1 | sed -n 's/duration=//p'");
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

tim*_*vin 7

弄清楚了。

$codec = exec("ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 {$input['filename']}");
Run Code Online (Sandbox Code Playgroud)

echo $codec;

产生

h264