2017-07-27 5 views
-1

取得する最善の方法/最大のMP4ビデオ解像度のTwitterのAPI私は他の記事と異なる配列で最高の解像度640×360(同じではない解像度でのMP4を取得したい取得する最善の方法/最大のMP4ビデオ解像度さえずり

stdClass Object ([bitrate] => 320000 [content_type] => video/mp4 [url] => https://video.twimg.com/ext_tw_video/4565654656538862849/pu/vid/320x180/8tkyfOGWAsk463643.mp4) [1] => stdClass Object ([content_type] => application/x-mpegURL [url] => https://video.twimg.com/ext_tw_video/8234513464436343/pu/pl/UbTspZ_h6W143643zC.m3u8) [2] => stdClass Object ([bitrate] => 832000 [content_type] => video/mp4 [url] => https://video.twimg.com/ext_tw_video/823451433633464364/pu/vid/640x360/051dcpN_Z9nE346.mp4)) 

[0] [1] [2] [...]) どうすればいいですか?

この私のコードのショーは、すべてのビデオは、別のWebリソースからPHPを使用してサーバーにファイルをダウンロードする方法について

echo ($media->video_info->variants[0]->url .'<br>') ; 


echo($media->video_info->variants[1]->url).'<br>' ; 


echo ($media->video_info->variants[2]->url).'<br>'; 


echo ($media->video_info->variants[3]->url) .'<br>'; 


echo ($media->video_info->variants[4]->url) .'<br>'; 

答えて

1

検索this questionをバリアント。

2番目のタスクは、URLから解決方法を取得することです。あなたはMP4ビデオのリンクからXとYの解像度を抽出することができ、正規表現で

.../vid/<X>x<Y>/<random string of letters and numbers>.mp4 

:URLはパターンに従うように見えるあなたのURLのそれぞれについて

$regex = '\/([0-9]+)x([0-9]+)\/[0-9a-zA-Z]+\.mp4$' 
if (preg_match($regex, $url, $matches)) { 
    $x_resolution = intval($matches[1]); 
    $y_resolution = intval($matches[2]); 
    $pixels = $x_resolution * $y_resolution; 
} else { 
    $pixels = 0; 
} 

あなたは、このように計算することができます解像度。 URLに解像度が含まれていない場合は、ファイルをダウンロードして調べる必要があります。上記のコードでは、これを示すために特別な値 '0'が使用されています。

特定のビデオファイルの解像度はファイル形式によって異なります。 大量ののビデオコンテナ、コーデックなどがあるため、ここでは詳しく説明しません。ここでの最良の解決策は、どのフォーマットが実際にあなたに関連しているかを判断し、それらのフォーマットのみのコードを実装することです。

オープンソースのメディアプレーヤーのコードと、それがどのように解決されるかを調べることができます。

  1. ループURLのそれぞれ上および上記のコードを実行する単純なケースを解決するために

  2. 最大値が$pixelsのものを見つけます。
  3. このURLをダウンロードしてください。