ホームページ  >  記事  >  バックエンド開発  >  mpgの音声トラック自動抽出機能をphpで実装する方法

mpgの音声トラック自動抽出機能をphpで実装する方法

PHPz
PHPzオリジナル
2023-04-25 17:35:33622ブラウズ

MPG は一般的なビデオ形式であり、オーディオ トラックも非常に重要です。ビデオの編集と処理では、多くの場合、個別に処理するためにオーディオ トラックを分離する必要があります。このプロセスを手動で行うと時間がかかるため、PHP を使用してオーディオ トラックを自動的に抽出し、処理効率を向上させることができます。

PHP では、FFmpeg を使用して MPG ファイルからオーディオ トラックを直接抽出できます。 FFmpeg は、オーディオおよびビデオ ストリーム処理ライブラリと関連ツールのコレクションである無料ソフトウェアです。 Linux システムではコマンド ラインを使用して FFmpeg を呼び出すことができますが、より良い方法は PHP で FFmpeg 拡張ライブラリを使用することです。

まず、サーバー環境に FFmpeg をインストールし、PHP に FFmpeg 拡張ライブラリをインストールする必要があります。インストールが完了したら、次の PHP コードを使用してオーディオ トラックを抽出できます。

<?php
$video = "video.mpg";
$output = "audio.mp3";
 
// 设置FFmpeg路径
$ffmpeg = "/usr/bin/ffmpeg";
 
// 获取音轨信息
$cmd = "$ffmpeg -i $video 2>&1";
 
$output = shell_exec($cmd);
preg_match('/Stream.*: Audio/', $output, $matches);
if(!$matches) {
    die('找不到音轨');
}
 
// 提取音轨
$cmd = "$ffmpeg -i $video -vn -acodec copy $output";
exec($cmd);
 
echo "音轨提取成功";
?>

上記のコードでは、変数 $video と $output は、元のビデオ ファイル パスと抽出されたオーディオ トラック ファイルを表します。それぞれパス。 FFmpeg を呼び出すと、ビデオ ファイル内のオーディオ トラック情報を取得できます。オーディオ トラックが見つからない場合、プログラムは実行を停止します。オーディオ トラックが見つかった場合は、FFmpeg を再度呼び出してオーディオ トラックを抽出します。抽出されたオーディオ トラックは MP3 形式で $output パスに保存されます。最終的な出力は「オーディオ トラック抽出成功」です。

実際のアプリケーションでは、複数のビデオ ファイルをバッチで処理する必要がある場合、上記のコードを少し変更して、すべての MPG ビデオの自動ディレクトリ トラバーサルとオーディオ トラック抽出を実現できます。

要約すると、PHP は FFmpeg 拡張ライブラリを使用して、MPG からオーディオ トラックを自動的に抽出する機能を実装する必要があります。 FFmpeg を呼び出して音声トラックの抽出と処理を行うことにより、処理効率が大幅に向上し、高速かつ正確な音声トラック分離機能を実現できます。

以上がmpgの音声トラック自動抽出機能をphpで実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。