plasmasphere.net -プラズマスフィア ドットネット-
Diary
携帯動画変換君 最新ffmpeg用設定(PSP高画質用)
2011/02/17(Thu) 00:02
Veohやニコニコ動画のflv変換など、新しいffmpeg用に書き直した携帯動画変換君の設定を作りました。 PSPの高画質用です。
[Info] Title=PSP高解像度設定:H.264 16:9 MP4(FFMPEG置き換え版) [Item0] Title=PSP 720x480/画質A/1PASS/192kbps TitleE=PSP 1PASS/H.264 Deint/720x480/1500/192kbps Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -flags bitexact -vcodec libx264 -deinterlace -coder 1 -vlevel 13 -bufsize 128 -g 250 -s 720x480 -aspect 16:9 -b 1500k -maxrate 1800 -acodec libfaac -ac 2 -ar 48000 -ab 384k -f psp -vol 256 "<%OutputFile%>.mp4"" Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputFile%>.jpg"" [Item2] Title=PSP 720x480/画質A/2PASS/192kbps TitleE=PSP 2PASS/H.264 Deint/720x480/1500/192kbps Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -pass 1 -passlogfile "<%OutputFile%>" -timestamp "<%TimeStamp%>" -flags bitexact -vcodec libx264 -deinterlace -coder 1 -vlevel 13 -bufsize 128 -g 250 -s 720x480 -b 1500k -maxrate 1800 -acodec libfaac -ac 2 -ar 48000 -ab 384k -f psp -vol 256 "<%OutputFile%>.mp4"" Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -pass 2 -passlogfile "<%OutputFile%>" -timestamp "<%TimeStamp%>" -flags bitexact -vcodec libx264 -deinterlace -coder 1 -vlevel 13 -bufsize 128 -g 250 -s 720x480 -b 1500k -maxrate 1800 -acodec libfaac -ac 2 -ar 48000 -ab 384k -f psp -vol 256 "<%OutputFile%>.mp4"" Command2="rm "<%OutputFile%>-0.log"" Command3=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputFile%>.jpg""
Transcoding_PSP.iniとかで、default_setting に保存してください。
PSPで再生できる最高のビットレート帯にしてますので、変換処理は遅いと思います。
ここまでいらねって人は、SPaRBさんで紹介してるファイル落とすと幸せになれるかもしれません。
出力したファイルは、メモリースティックのルートにあるVIDEOフォルダにつっこんだらOKです。
無い場合は作ったらOKです。
東京マルイ SIG552 EBRタイプストック
2011/02/14(Mon) 00:02
エアガンのSIG552にEBRタイプストックをつけてみました。
とっても素敵。
EBRタイプストックのつけ方はFirstのブログを参考に。
分解したの初めてでしたけど大したもんじゃなかったですはい。
他の装備は…
M3Xタイプ タクティカルイルミネーター ロング。
GP-671B レイダー フォアグリップ。
ELCAN SPECTOR DRタイプ X4スコープ。
HKサプレッサー リアルタイプ。
結構金かけてるんですが、家で的に向かって撃つだけですけどね。
ExtJS XmlReaderのcdata-sectionエスケープ対応
2011/02/06(Sun) 00:02
ExtJSのExt.data.XmlReaderですが、cdata-section の複数エスケープに対応していないみたいですね。
cdata-section のエスケープは基本以下の通りですが…
<HOGE><![CDATA[fuga]]></HOGE>
fugaをfuga]]>と入力すると、]]>をエスケープしないといけません。
<HOGE><![CDATA[fuga]]]]><![CDATA[>]]></HOGE>
※ cdata内で>とかを>とエスケープするってのは大間違いです。
ExtJSのXmlReaderですが、値の取得に Ext.DomQuery.selectValue を使っています。
selectValue が cdata-section のエスケープに対応してないですね。
selectValue : function(path, root, defaultValue){ path = path.replace(trimRe, ""); if(!valueCache[path]){ valueCache[path] = Ext.DomQuery.compile(path, "select"); } var n = valueCache[path](root), v; n = n[0] ? n[0] : n; if (typeof n.normalize == 'function') n.normalize(); v = (n && n.firstChild ? n.firstChild.nodeValue : null); return ((v === null||v === undefined||v==='') ? defaultValue : v); },
一応 n.normalize で正規化されてると思いきや、cdata-section はnormalizeしても正規処理されないようで。
cdata-sectionがエスケープされていると、エスケープされてる数だけ childNodes に文字列が分割されます。そういうDOM仕様です。
なので、nodeValue だとこの場合取れる値は「hoge]]」です。
本来ほしい値は「hoge]]>」ですので、nodeValue ではなく contentText だと正解になるんですが、残念ながらIE系は DOM のバージョンが低いので contentText には対応していません。
なんにしろXmlReaderを書き換えてあげないといけません。
Ext.override(Ext.data.XmlReader,{ createAccessor : function(){ var q = Ext.DomQuery; return function(key) { if (Ext.isFunction(key)) { return key; } switch(key) { case this.meta.totalProperty: return function(root, def){ return q.selectNumber(key, root, def); }; break; case this.meta.successProperty: return function(root, def) { var sv = q.selectValue(key, root, true); var success = sv !== false && sv !== 'false'; return success; }; break; default: return function(root, def) { var node = q.select(key, root, def), v = ''; node = node[0] ? node[0] : node; if (typeof node.normalize == 'function') node.normalize(); if(node.childNodes.length>0) { for(var i=0;i<node.childNodes[i];i++) { v += (node.childNodes[i] ? node.childNodes[i].nodeValue : ''); } } return v; }; break; } }; }() });
Ext.DomQuery.selectValue を override した方が楽なのかもしれませんが。
なんにしろこれで cdata-section のエスケープに対応できたと思います。