我最近下载了 PHP 的 FFmpeg-PHP 扩展(从 ffmpeg-php53-win32-vc9-all.zip 中提取),我一直在使用它和 FFmpeg-0.5.2.1 从各种视频中提取信息。到目前为止,我已经用 AVI、FLV、MP4 和 3GP 视频对其进行了测试,并成功地使用下面的 PHP 脚本获取了有关每个视频的信息。
<?php
$ffmpegInstance = new ffmpeg_movie("http://localhost/ffmpeg/movie");
$frame_count = $ffmpegInstance->getFrameCount();
$frame = $ffmpegInstance->getFrame(round($frame_count / 2));
?>
问题是,当我运行 PHP 脚本时,我不断收到很多 xdebug 警告和通知。例如,当我使用 3GP 视频时,我收到以下通知;
注意:ffmpeg_movie::__construct() []:ISO:文件类型主要品牌:3gp4 - line 2
当我使用 FLV 视频时,我会在 PHP 文件中的同一行中重复 35 次此通知;
注意:ffmpeg_movie::__construct() []: Unsupported video codec (7) - line 2
当我使用 MP4 视频时,我会多次收到这些警告;
注意:ffmpeg_movie::__construct() []:ISO:文件类型主要品牌:isom - line 2
警告:ffmpeg_movie::getframe() []: abs_diff_pic_num 溢出 - 第 4 行
警告:ffmpeg_movie::getframe() []: decode_slice_header 错误 - 第 4 行
注意:ffmpeg_movie::getframe() []: 隐藏 99 DC、99 AC、99 MV 错误 - 第 4 行
当我使用 AVI 视频时,我会多次收到这些警告;
警告:ffmpeg_movie::getframe() []: abs_diff_pic_num 溢出 - 第 4 行
警告:ffmpeg_movie::getframe() []: decode_slice_header 错误 - 第 4 行
注意:ffmpeg_movie::getframe() []: 隐藏 99 DC、99 AC、99 MV 错误 - 第 4 行
我对使用 FFmpeg-PHP 比较陌生,我不明白这些消息的含义、它们出现的原因,或者我如何改进我的编码以摆脱它们。我已经做了尽可能多的研究,但到目前为止,我找不到任何关于为什么会出现这些错误的答案或任何解决这些错误的方法。
任何帮助,将不胜感激。