3

最近、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 ビデオを使用している場合、次の通知が表示されます。

Notice: ffmpeg_movie::__construct() []: ISO: File Type Major Brand: 3gp4 - 2 行目

FLV ビデオを使用している場合、PHP ファイルの同じ行でこの通知が 35 回繰り返されます。

Notice: ffmpeg_movie::__construct() []: サポートされていないビデオ コーデック (7) - 2 行目

MP4 ビデオを使用していると、これらの警告が何度も表示されます。

Notice: ffmpeg_movie::__construct() []: ISO: File Type Major Brand: isom - 2 行目

警告: ffmpeg_movie::getframe() []: abs_diff_pic_num オーバーフロー - 4 行目

警告: ffmpeg_movie::getframe() []: decode_slice_header エラー - 4 行目

Notice: 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 行目

Notice: ffmpeg_movie::getframe() []: 99 DC、99 AC、99 MV エラーの隠蔽 - 4 行目

私は FFmpeg-PHP の使用に比較的慣れていないため、これらのメッセージが何を意味するのか、なぜ表示されるのか、コーディングを改善してメッセージを取り除く方法を理解していません。できる限り多くの調査を行いましたが、これまでのところ、これらのエラーが表示される理由やこれらのエラーに対する解決策を見つけることができません。

どんな助けでも大歓迎です。

4

1 に答える 1

1

ほとんどの場合、ffmpeg-phpがライブラリからPHPランドに委任するという警告(および通知)があります。これは「うるさい」と呼ばれます。ffmpeg拡張機能はこれを行うべきではありませんが、代わりにすべてのエラーと警告を収集して、興味があればそれらを取得できるようにします。私が見ることができることから、ここで得られる警告や通知はどれも重要ではなく、すべての異なるビデオエンコーダーのアーティファクトです。

デリックを応援します

于 2012-02-01T12:21:40.167 に答える