Twitter API で 動画ツイート を1件取得してHTML上で表示させたいのですが、「.m3u8」形式と「.mp4」形式の関係性は?
Q.Twitter API で 動画ツイート 1件取得してHTML上で表示させるにはどうすれば良いですか?
・返り値のvariants配列内にある「.mp4」URLを、videoタグで指定すれば良い?
・返り値のvariants配列の中で、「.mp4」「.m3u8」の順番が異なることがあるのはなぜ?
・返り値のvariants配列内に「.mp4」が複数ある理由は? サイズ違い? サイズは固定?(例えば常に「1280x720」は存在している?)
試したこと
リンク先のベアラートークンで、下記の通り$obj取得
$obj = json_decode( $json );
$obj内容抜粋
public 'variants' =>
array (size=4)
0 =>
object(stdClass)[50]
public 'bitrate' => int 2176000
public 'content_type' => string 'video/mp4' (length=9)
public 'url' => string 'https://video.twimg.com/ext_tw_video/xxxx/pu/vid/1280x720/●●●●.mp4' (length=92)
1 =>
object(stdClass)[51]
public 'content_type' => string 'application/x-mpegURL' (length=21)
public 'url' => string 'https://video.twimg.com/ext_tw_video/xxxx/pu/pl/▲▲▲▲.m3u8' (length=83)
2 =>
object(stdClass)[52]
public 'bitrate' => int 256000
public 'content_type' => string 'video/mp4' (length=9)
public 'url' => string 'https://video.twimg.com/ext_tw_video/xxxx/pu/vid/320x180/■■■■L.mp4' (length=91)
3 =>
videoタグ指定
<video src="<?php echo (省略->video_info->variants[0]->url);?>"
上記で表示されたのですが、動画ツイートによっては、array[0]
に▲▲▲▲.m3u8が来て、array[1]
に●●●●.mp4が格納されていることがあり、その場合は、variants[0]
では動画表示されません。
このvariants配列はどういう仕様なのでしょうか?