Site search
2008年6月21日土曜日
YouTubeのアドレス変換スクリプト
インワールドでyoutube見るのが流行ってるみたいですが、
土地持ってない + PC古い + 回線遅い
そんな私には縁のない話です^^;
でもスクリプトは書いてみましたw
string youtube2mp4url(string video_url)
{
if (llGetSubString(video_url,0,6) != "http://") return "";
string yturl=".youtube.com/watch?v=";
string mp4url1="http://www.youtubemp4.com/video/";
string mp4url2=".mp4";
integer ytl=llStringLength(yturl);
integer i=llSubStringIndex(video_url,yturl);
if (i > 7) {
video_url=mp4url1+llGetSubString(video_url,i+ytl,-1)+mp4url2;
return video_url;
}
else return "";
}
この関数で、ようつべのURL
http://jp.youtube.com/watch?v=463X0BSadFk
http://www.youtube.com/watch?v=463X0BSadFk
などをmp4変換サービスのURLに変換します^^
変換サービスは http://www.youtubemp4.com/ を使用してみました。
10月7日追記: この関数を書いたときは
http://www.youtube.com/watch?v=463X0BSadFk&feature=related
のような後ろにパラメータの付いたURLは考慮していませんでしたが、製品化したYouTube TV screenでは改良しています。
2009年5月28日追記:修正版のスクリプト http://backup-beta.blogspot.com/2009/05/youtube-mp4_28.htmlを掲載しました。
たぶんllParcelMediaCommandListを使って、こんな感じでいけるかなーと思いますけど、試せないので間違えてるかも知れないです^^;
default
{
state_entry()
{
llListen(0, "", llGetOwner(), "");
}
on_rez(integer start_param)
{
llResetScript();
}
listen(integer channel, string name, key id, string msg)
{
if (channel == 0 && id == llGetOwner())
{
string url=youtube2mp4url(msg);
if (url != "") { // チャットでURLを設定
llParcelMediaCommandList([
PARCEL_MEDIA_COMMAND_URL,url,
PARCEL_MEDIA_COMMAND_TYPE,"video/*",
PARCEL_MEDIA_COMMAND_AGENT,id]);
llOwnerSay("MP4 URL = "+url);
}
}
}
}
土地持ってない + PC古い + 回線遅い
そんな私には縁のない話です^^;
でもスクリプトは書いてみましたw
string youtube2mp4url(string video_url)
{
if (llGetSubString(video_url,0,6) != "http://") return "";
string yturl=".youtube.com/watch?v=";
string mp4url1="http://www.youtubemp4.com/video/";
string mp4url2=".mp4";
integer ytl=llStringLength(yturl);
integer i=llSubStringIndex(video_url,yturl);
if (i > 7) {
video_url=mp4url1+llGetSubString(video_url,i+ytl,-1)+mp4url2;
return video_url;
}
else return "";
}
この関数で、ようつべのURL
http://jp.youtube.com/watch?v=463X0BSadFk
http://www.youtube.com/watch?v=463X0BSadFk
などをmp4変換サービスのURLに変換します^^
変換サービスは http://www.youtubemp4.com/ を使用してみました。
10月7日追記: この関数を書いたときは
http://www.youtube.com/watch?v=463X0BSadFk&feature=related
のような後ろにパラメータの付いたURLは考慮していませんでしたが、製品化したYouTube TV screenでは改良しています。
2009年5月28日追記:
たぶんllParcelMediaCommandListを使って、こんな感じでいけるかなーと思いますけど、試せないので間違えてるかも知れないです^^;
default
{
state_entry()
{
llListen(0, "", llGetOwner(), "");
}
on_rez(integer start_param)
{
llResetScript();
}
listen(integer channel, string name, key id, string msg)
{
if (channel == 0 && id == llGetOwner())
{
string url=youtube2mp4url(msg);
if (url != "") { // チャットでURLを設定
llParcelMediaCommandList([
PARCEL_MEDIA_COMMAND_URL,url,
PARCEL_MEDIA_COMMAND_TYPE,"video/*",
PARCEL_MEDIA_COMMAND_AGENT,id]);
llOwnerSay("MP4 URL = "+url);
}
}
}
}
登録:
コメントの投稿 (Atom)
千尋さん、はじめまして♪
返信削除勝手に書き込みすみません・・・w
私、ダークと申します^^
スクリプトを試せない状態で書けるなんて、凄いの一言ですw
試してみたところ、問題なく動作しますよ~♪
はじめまして^^
返信削除いいえ、私、結構失敗多いので自信なかったんですよw
問題なかったと聞いてほっとしました。ありがとうございました^^