2012-05-10 18 views
0

のためにその場でH.264への変換だから私が働いているプロジェクトがすでに埋め込まれたプレーヤーで再生する必要があるサーバー上のMP4ファイルのトンを持っています。理想的には、ほとんどのビデオに既に設定されているJW Playerを使用したいと考えています。残念ながら、古い動画の多くはMPEG-4でエンコードされており、ブラウザで再生するには追加のプラグインが必要です。私がやりたいのは何PHPとffmpegの - JWプレーヤー

は、H.264など、JWプレーヤーがサポートするフォーマットにその場でこれらのビデオをトランスコードすることが可能です。今、古いMP4ファイルを変換することができますが、データをプレーヤーに直接渡すのが難しいので、私はそこに向かいます。

これは私の現在のスクリプトに変換を行っている(これはmedia_converted.phpである)である:

<?php 
    error_reporting(0); 
    if (!isset($_GET["MediaName"])) { 
     $_GET["MediaName"] = "GSX238"; 
    }  
    require_once("php/media_center_functions.php"); 
    $MediaURL = ConstructVideoURLInternap($_GET["MediaName"]); 
    header("Content-Transfer-Encoding: binary"); 
    //header('Content-type: video/mp4'); 
    //$calculatedFileSize = filesize($MediaURL); 
    //header("Content-Length: {$calculatedFileSize}"); 

    $cmd = 'ffmpeg -i "'.$MediaURL.'" -vcodec libx264 -acodec copy -f mp4 -moov_size 32000 "_temp/'.time().'_temp.mp4" 2> _temp/media_converter_output.txt'; 
    passthru($cmd); 

?> 

私は上記のファイルを取得し、映像ソースとしてJWプレイヤーに渡ししようとしている:JW Playerの中で変数スクリプトは、そのように:私は、これは動作するはずと信じていますが

so.addVariable('file','media_converted.php?MediaName=12345');

、それだけではありません。

変換が動作しているようですし、プレイヤーに送信することとしても、それは私が、ブラウザが何かを再生する前に、ファイル全体をダウンロードしようとしていると思うので、伝えるのは難しいです。明らかに、私はそのようなユーザーを待たせることはできません。

私はQT-のFastStartに見てきた、と私はそれがロードされている間、それが再生を開始できるように、ファイルを変更するために自分のコンピュータ上でそれを使用することができました。残念ながら、これには2つのステップが必要です。私はまずファイルを完全に変換しなければなりません。それが終わったら、qt-faststart.exeを使用する必要があります。繰り返しますが、実際にはオンザフライではありません。私は、プレイヤーに出力するための1つのコマンドで同様の結果を出すには何らかの方法が必要であると確信しています...そうですか?

私のハードディスクには現在のところスペースがあるよりも多くのビデオデータがサーバーにあります。したがって、各ビデオを永久に再エンコードするには、バッチであっても、ダウンロードしなければならないので面倒です再アップロードし、もっとダウンロードするなどしなければなりません。もし私がそれをしなければならない場合、私はそうしますが、私はそれらをそのままにして、飛行中にトランスコードすることができます。

アイデア?

答えて

0

私は考えられません。最初に変換が行われてから、ファイルをロードする必要があります。 Vimeoを見てください。ファイルをアップロードすると、それは再生

+0

うんために利用可能になる前に、システムには、形式を変換します。まあそれは吸う。ありがとう。私はそれらをすべて変換しなければならないと思う。しかたがない。とにかくそれは長期的には良いです。 – vertigoelectric

+0

:)うん、聞こえるよ。私は間違っているかもしれないので、もう少し調べる価値があるかもしれません。しかし、私が見たすべてのことは、それが可能ではないことを示唆しています(カスタム作業のトーンを行うことなく)。 –

+0

私はすでに数時間かけて可能性を研究してきました。今のところトランスコード・オン・ザ・フライ・ソリューションが見つかります。しかし、それらをすべて永久に変換することは、とにかく理想的です.AHKスクリプトを使用すると、プロセスは主に自動化されます。再度、感謝します。 – vertigoelectric

関連する問題