ドコモ新機種の動画再生機能は・・・

Docomoから、携帯の新機種が発表されました。
新機種の仕様として興味深いのが、ストリーミング動画再生機能です。
906シリーズの正式な仕様は、流れている情報からはまだ把握できていません。。。

P903ixや、P905iは、wmvのストリーミング再生に対応しています。

個人でWMEを立ち上げたりすると、自前のコンテンツを配信する方法で、
好みの動画を携帯で視聴することができます。


しなしながら、自前のコンテンツをただ垂れ流し視聴するという使用方法に、
いまひとつ面白みを感じることができないでいました。

そこで、PeerCastによる個人の多種多様な配信を、携帯で視聴してしまおうという内容を書いてみます。
*wmv,wma形式で配信しているchのみ視聴が可能です。


作業内容

  • 注意点
    • パケホーダイフルに加入していないと、もれなくパケ死します。
    • 電池が減ります。通信を常に行うため、あっという間に電池がなくなります。
    • PeerCastP2Pリレーによって多数のユーザーに配信を行うため、少なくとも視聴時はリレーを行う設定をすることをお勧めします。
  • 必要な道具
    • WMVストリーミングに対応した携帯電話
    • PeerCastが起動するPC(OS問わず)
    • PHPが動作するWebサーバー(携帯向けチャンネルリストを生成するため)
    • 下にあるようなYPからチャンネルリストを生成するスクリプト
作業手順
  1. PeerCastを利用できる状態にする
  2. PHPが利用可能なWebサーバーに、スクリプトを設置・設定する
  3. 携帯電話からチャンネルリスト生成スクリプトにアクセスする
  • PeerCastの設定
    • パスワード設定し、認証を有効にする(Basic認証がお勧めかもしれません)
    • AutoKeepをoffにする
    • 携帯が使用するIPからの、DIRECT接続を許可するようにする
  • 下のスクリプトの設定
    • PeerCastが立ち上がっているPCのIPorHOSTを指定する。(動的IPの場合は、DDNSを使うなど)
    • YPサイトのindex.txtの場所を指定する


以上で、携帯からチャンネルリストを選択して、配信を視聴することができます。

  • その他
    • 動画の解像度320x240,ビットレート512kbpsを超えている場合は、動画は再生されず、音声だけになる模様です。
    • 各設定方法の詳細については、、、各々の専門サイトを参照ください。
<?php

//peercastが立ち上がっているホスト・ポートの指定
$host = "host.name";
$port = "7144";

//ypサイトのindex.txtを指定 (ex. kp
$lines = file('http://kp.podzone.net/index.txt');

    foreach($lines as $key => $value){
        $ar = explode("<>",$value);

        $list['ch'] = $ar[0];
        $list['id'] = $ar[1];
        $list['tip'] = $ar[2];
        $list['url'] = $ar[3];
        $list['ja'] = $ar[4];
        $list['syo'] = $ar[5];
        $list['lis'] = $ar[6];
        $list['rel'] = $ar[7];
        $list['bit'] = $ar[8];
        $list['type'] = $ar[9];
        $list['tra'] = $ar[10];
        $list['trt'] = $ar[11];
        $list['trl'] = $ar[12];
        $list['tru'] = $ar[13];
        $list['ch-n'] = $ar[14];
        $list['time'] = $ar[15];
        $list['stat'] = $ar[16];
        $list['comm'] = $ar[17];
        $list['dir'] = $ar[18];

        $list2[] = $list;
   }

   foreach($list2 as $key => $oar){
       $out1 = ( ($oar['ja'])?"[".$oar['ja']."]":"" ) . $oar['ch']." (".$oar['type']."/".$oar['bit']."kbps)";
       $out2 = ( ($oar['syo'])? $oar['syo'] : "" ) ;
       $out3 = ( ($oar['comm'])? $oar['comm'] : "" ) ;

       $playadd = "http://$host:$port/pls/".$oar['id']."?tip=".$oar['tip'];

       print "<html><head><title>docodemo peercast (Test ver.)</title></head><body>";
       print "<a href=$playadd>$out1</a><br>\n";
       print ( ($out2)?"$out2<br>\n":"<br>\n");
       print ( ($out3)?"$out3<hr>\n":"<hr>\n");
       print "</body></html>";
   }

?>