2016-05-10 24 views
0

指定された行と列のためのいくつかのメタデータをフェッチするために、この行で右構文とコマンドを見つけるために私を助けてください:、私は混乱していこのshell_exec()のケースで正しい構文とコマンドは何ですか?

shell_exec('ffmpeg -i ' . $targetPath . -metadata album={echo $row_release['release_title'];} ' -b:a 320k '. $mp3); 

特にこの部分で

-metadata album={echo $row_release['release_title'];} ' -b:a 

ですブラケット OKエコー、それはそれを実行していないため。

みんなありがとうと女の子!

答えて

0

「エコー」を削除し、これを試してみてください。

shell_exec('ffmpeg -i ' . $targetPath . ' -metadata album="' . $row_release['release_title'] . '" -b:a 320k ' . $mp3); 

もう一つの問題は、ffmpegのいくつかのバージョンがエンコーダ/出力形式としてMP3をサポートしていないということかもしれません。その場合、別の形式を使用する必要があります。 -acodecオプションでこの新しい形式を指定してください。有効な形式のリストはffmpeg -codecsで取得できます。 Eのすべてのエントリが有効なエンコーダです。

したがって、たとえば、あなたは、MPEG1 /レイヤ2(MP2)を使用することができます。

shell_exec('ffmpeg -i ' . $targetPath . ' -metadata album="' . $row_release['release_title'] . '" -acodec mp2 -b:a 320k ' . $mp3); 

これは、「アルバムのメタデータを設定だけでなく、MP2にファイルを変換します。

サポートされている場合と同じで、もちろん、MP3に適用されます。

+1

* ffmpegのエンコーダ/出力形式としてMP3をサポートしていません* - 。>もちろん、それはありません。 – Mulvya

+0

@ zx485ありがとうございます。mp3をエンコードしていますが、私の行は含まれていません。多分私は変数を宣言していませんか? 'code' $ query_release = "RELEASE_ID = $取り除くどこtbl_release_infoから*を選択します。"; $ query_sr = "select * from tbl_sound_recordingsここで、release_id = $ rid;"; $ result_sr = mysql_query($ query_sr); $ result_release = mysql_query($ query_release); $ row_release = mysql_fetch_assoc($のresult_release)。 – mgeezy

+0

@Mulvya:私はそれを反映するために私の答えを変更しました。私のバージョンは明らかにそうではなかったことに私は驚きました。だから私は私の議論を相対化した。 _ifを見つけ出す方法、またはnot_が最初から存在していた場合。 – zx485

関連する問題