2011-06-24 15 views
3

ムービーをサイトにアップロードしてから、.movのiPhoneフォーマットから.mp4形式に自動的に変換しようとしています。これを行うのに役立つPHP変換ライブラリやツールはありますか?PHPのアップロードスクリプトを使用してムービーを.MOVから.MP4に変換するにはどうすればよいですか?

ありがとうございました。

+1

PHPで変換処理を開始することはできますが、実際にはPHPを使用してムービーを変換する必要はありません。 – tplaner

+0

@evolveは何を言った。あなたはこれのためにZencoderのようなサービスではるかに良いでしょう。 – ceejayoz

+0

http://handbrake.fr/ CLI(コマンドラインインターフェイス)、ドキュメント:https://trac.handbrake。fr/wiki/CLIGuide、PHPを使ってキックオフしてください –

答えて

2

残念ながら、

私は過去4年間この正確なことをやってきました。あなたが自分で書くことに亀裂を入れたいのであれば、あなたの最善の策はあなたのアップロードスクリプトでexecをffmpegにフォークすることです。最後にアンパサンド

exec('ffmpeg ... &'); 

ノートでは、これは、エンコードは、バックグラウンドで起こることを可能にしながら、あなたのPHPスクリプトは、このメソッドを使用して、シェル注入の可能性があるとして、YOUR INPUTはVARSもチェック、完了することができます。

または代替:

新しいエンコードに取り、それらを処理するバックエンドに(私はカスタムマルチスレッドperlスクリプトを使用)PHPのアップロードスクリプトとワーカープロセス間のメッセージキューとしてbeanstalkdのようなシステムを使用(私は入力ビデオフォーマットに応じて、qt_toolsを使ってffmpeg、mencoder、またはquicktimeを使用しています)、ステータスをエンコードするための一時記憶域としてmemcachedを使用しています。

申し訳ありませんが、私はこれ以上具体的にすることはできません。明日はもう少し更新するかもしれませんが、一晩中起きていて、眠りが必要です。うまくいけば、これはあなたが正しい方向にそれまで動くようになります。

3

あなたはffmpegの拡張を試みることができる:http://ffmpeg-php.sourceforge.net/

編集:

それはffmpegの拡張はおそらくあなたを助けないことが判明していますが、まだ変換を行うためのffmpegを使用することができます。あなたは、おそらくcronの仕事やそれに類似したコンバージョンをバックグラウンドでやっている方が良いでしょう。ユーザーにmovファイルをアップロードさせてから、キューに追加して別のプロセスでmp4に変換してください。

+0

私はffmpegがファイル変換をするとは思わない。 – tplaner

+0

あなたが正しいように見えます。私は拡張がffmpegのすべての関数をラップしたと仮定しました。主にサムネイルを生成するのに便利です。 – jncraton

+0

これは役に立つと思われますが、私は確かにそれを実装しますが、残念ながら別の解決策を見つける必要があります。 – willpots

5

まあ、私はこれが代替ソリューションである知っている:

PHPそれをキックオフするためにPHPを使用します。

$cmd = './HandBrakeCLI -i /path/to/source.MOV -o movie.mp4 --preset="iPhone & iPod Touch"'; 
echo exec($cmd); 

注:サーバーにHandbrakeをインストールする必要があります

3

Appleのmovファイルは実際にはMP4のコンテナです。だから.mov == .m4v == .mp4 == .m4aです。ファイルの名前を変更するだけでOKです。または、特定のコーデックが必要ですか?

+0

本当に面白いです。私はそのショットを与えるだろう。ありがとう! – willpots

関連する問題