PSPの動画についていろいろ実験1に引き続きPSP動画作成の実験です。
実験環境について書いておきます。
環境
機種 PSP-2000
ファームウェア ver.3.71(アップデートしました)
エンコードソフト携帯動画変換君
エンコード方式 MP4ファイル,PSP向け設定(Transcoding_PSP.ini)
Mpeg-4 QVGA/29.97fps/768kbps ステレオ/128kbps
AVC Mpeg-4 AVC QVGA/29.97fps/385kbps ステレオ/128kbps
いくつかのサイトを拝見すると、VIDEOフォルダにおけるAVCファイルの再生は、Profile Levelを3.0にしないといけないようです。携帯動画変換君についてるffmpegに、オプションとして -vlevel 30 というので設定できる(最新版だと-level 30らしい)ことがわかったので、この設定項目を付け加えたものをTranscoding_PSP.iniに加えてみました。
[Item18]
Title=AVC QVGA/29.97fps/384kbps -vlevel 3.0 ステレオ/128kbps
TitleE=AVC QVGA/29.97fps/384kbps -vlevel 3.0 Stereo/128kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vlevel 30 -title "<%Title%>" -timestamp "<%TimeStamp%>" -bitexact -vcodec h264 -coder 1 -bufsize 128 -g 250 -s 320x240 -r 29.97 -b 384 -acodec aac -ac 2 -ar 48000 -ab 64 -f psp "<%
OutputFile%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputFile%>.THM""
基本的にItem16をコピペしたものです。太字が変化させた所です。これで変換すると、無事VIDEOフォルダでAVCファイルが認識されましたヽ(´ー`)ノ
更に調子に乗って、地デジの16:9対応のために -s 480x272のItemも作ってみました。これでエンコードするとホント綺麗ですね。いやあ試行錯誤しましたがMP4はなかなか良いものです。
2007年10月13日
2007年10月12日
PSPの動画についていろいろ実験
PSPの動画についていろいろ実験
環境
機種 PSP-2000
ファームウェア ver.3.60
エンコードソフト携帯動画変換君
エンコード方式 MP4ファイル,PSP向け設定(Transcoding_PSP.ini)
Mpeg-4 QVGA/29.97fps/768kbps ステレオ/128kbps
AVC Mpeg-4 AVC QVGA/29.97fps/385kbps ステレオ/128kbps
・保存場所がが悪いのか?
-AVCファイルで再生できてる
/PSP/101ANV/MAQ01060.MP4
をVIDEOフォルダに入れる
→ 「非対応データ」
-逆に
/PSP/101ANV/てすと.mp4
にしてみる
→ 「認識すらされなくなった」
と言う事は、「VIDOEフォルダは名前自由、/PSP101X*NV/101ANV/MAQ****.mp4と言う書式は決定。しかも中の英数字は5文字で強制。
調べてみると、決まった規格でやるならAVCファイルをVIDEOフォルダにいれられるらしい。なんでも、AVC/H.264はProfileというのがあって、PSPのVIDEOフォルダはLevel=3まで対応しているらしい。しかし携帯動画変換君(もしくはffmpeg)でこれを設定するすべを知らない…。
環境
機種 PSP-2000
ファームウェア ver.3.60
エンコードソフト携帯動画変換君
エンコード方式 MP4ファイル,PSP向け設定(Transcoding_PSP.ini)
Mpeg-4 QVGA/29.97fps/768kbps ステレオ/128kbps
AVC Mpeg-4 AVC QVGA/29.97fps/385kbps ステレオ/128kbps
・保存場所がが悪いのか?
-AVCファイルで再生できてる
/PSP/101ANV/MAQ01060.MP4
をVIDEOフォルダに入れる
→ 「非対応データ」
-逆に
/PSP/101ANV/てすと.mp4
にしてみる
→ 「認識すらされなくなった」
と言う事は、「VIDOEフォルダは名前自由、/PSP101X*NV/101ANV/MAQ****.mp4と言う書式は決定。しかも中の英数字は5文字で強制。
調べてみると、決まった規格でやるならAVCファイルをVIDEOフォルダにいれられるらしい。なんでも、AVC/H.264はProfileというのがあって、PSPのVIDEOフォルダはLevel=3まで対応しているらしい。しかし携帯動画変換君(もしくはffmpeg)でこれを設定するすべを知らない…。
MPEG-4とPSPについて
PSPで見られる動画はMpeg-4形式(拡張子が.mp4になってる奴)である。これはPCではQuickTimeでしか見られないのでちょっと面倒である。
現在、動画のエンコードには「携帯動画変換君」を使っている。PSPで見られるMpeg-4形式には以下の二つがある
-MPEG-4(H.263) 通常のMpeg-4規格
--保存場所:/PSP/MP_ROOT/101MNV01/M4V****.mp4
-MPEG-4 AVC(H.264) より高画質・高圧縮な規格
--保存場所:/PSP/MP_ROOT/101ANV01/M4Q****.mp4
である。これに加えて最近のPSPではVIDEOフォルダと言うのが作成可能で、
--保存場所:/VIDEO/****.mp4
というように大分楽になった。日本語のファイル名も可能な様である。しかしココに難点があった。VIDEOフォルダにAVCフォーマットのビデオを入れると「非対応データ」になるのである。以前の101ANVフォルダに入れると見られるにもかかわらず、である。当初はAVCフォーマットはVIDOEOフォルダには入れられないと思っていた。
しかしどうも違うようである。よくわからないのだが、MPEG-4はProfileというものがあって、レベルごとに採用される技術の許容範囲が広がるようである。PSPのVIDEOフォルダに入れられるのはLevel=3までである。さて、携帯動画変換君でエンコードしたAVCファイルがどのlevelかを判断する事が出来ない。「videoei」にも載っていない。どのようにして調べるべきか・・・。
現在、動画のエンコードには「携帯動画変換君」を使っている。PSPで見られるMpeg-4形式には以下の二つがある
-MPEG-4(H.263) 通常のMpeg-4規格
--保存場所:/PSP/MP_ROOT/101MNV01/M4V****.mp4
-MPEG-4 AVC(H.264) より高画質・高圧縮な規格
--保存場所:/PSP/MP_ROOT/101ANV01/M4Q****.mp4
である。これに加えて最近のPSPではVIDEOフォルダと言うのが作成可能で、
--保存場所:/VIDEO/****.mp4
というように大分楽になった。日本語のファイル名も可能な様である。しかしココに難点があった。VIDEOフォルダにAVCフォーマットのビデオを入れると「非対応データ」になるのである。以前の101ANVフォルダに入れると見られるにもかかわらず、である。当初はAVCフォーマットはVIDOEOフォルダには入れられないと思っていた。
しかしどうも違うようである。よくわからないのだが、MPEG-4はProfileというものがあって、レベルごとに採用される技術の許容範囲が広がるようである。PSPのVIDEOフォルダに入れられるのはLevel=3までである。さて、携帯動画変換君でエンコードしたAVCファイルがどのlevelかを判断する事が出来ない。「videoei」にも載っていない。どのようにして調べるべきか・・・。
2007年08月06日
Linux Cソースからrpmパッケージまで
最近Linuxで新しいソフトウェアを入れたいと思ったら、大抵はapt-get installで済ませてしまう。あのライブラリのバージョンが無くて…とか新しすぎて…なんて事も無くなって来た。
そのちょっと前はrpmコマンドを使ってて、これは依存関係は教えてくれるが自動でその問題を解決してくれるわけじゃない。更にその前はtarball(tarボール)、いわゆる〜.tar.gzというパッケージを取ってきて、configure、make make installというお約束の手順をふんでいたわけだ。
そもそもLinuxのプログラムはC言語(か他の言語)で書かれたファイルの集まりにしか過ぎないわけで、それをコンパイルコンパイルコンパイルと何度もやった挙句に実行ファイル(バイナリファイル)が使えるようになるのは変わってないはず。ここではそのソースファイルの集まりからRPMパッケージになるまでどのような付加価値が付いてくるのか考えてみる。
一番最初は make である。makeはおなじみの三つの手順がある。
> ./configure
> make
> make install
configureはインストールされるコンピュータのOS、CPU、入っているライブラリ等を調べる。makeではMakefileに書かれてあるようにコンパイルが実行される。そして最後にmake installで指定の場所に実行ファイルがコピーされる。
さて、これらをまとめて一つの書庫にしたのが〜.tar.gz、いわゆるtarballである。
「IT media エンタープライズ:Linux Tip ./configure;make;make installにはどんな意味がある?」
次にRPMである。RPMではよく知られているように、ソース版のSRPMとバイナリ版のRPMがある。両者はビルド(コンパイル)前と後の関係である。ではrpmパッケージの正体は何であろうか。
平たく言えば、rpmファイル=tarball + SPECファイルと言っていい。SPECファイルにはインストールする場合の依存関係やその手順が書かれている。rpmbuildを行う事によって、tarballとSPECファイルからSRPMまたはRPMができる。
スタックアスタリスク:カスタムRPMの作成
以上の事をまとめるとそれぞれは次のような関係になると思われる。

さて、tarballの時とRPMパッケージの時では何が変わるだろうか。Linuxのオーディオプレイヤーxmmsを見てみる。tarballはSourceForge.netにある。
http://sourceforge.net/projects/xmms/
そして、RPMパッケージは例えばVineLinuxの場合こんなところにある。
http://ftp.kddilabs.jp/pub/Linux/packages/Vine/Vine-3.2/i386/Vine/RPMS/
まずtarball+SPEC→RPMとなった後は、該当するプロセッサのアーキテクチャが限定される。上述の場合はi386である。これは大抵のパソコンはi386だろうから問題も無いだろうが、組込み機器なんかにLinuxを入れる時に困るだろう。tarballの場合、該当するアーキテクチャのgccがあればよい。
もう一つはディストリビューションが限定される可能性があると言う事である。上述のはVineだし、Degian/GNUはそもそもRPMではなくDEBというパッケージシステムを採用している。
そのちょっと前はrpmコマンドを使ってて、これは依存関係は教えてくれるが自動でその問題を解決してくれるわけじゃない。更にその前はtarball(tarボール)、いわゆる〜.tar.gzというパッケージを取ってきて、configure、make make installというお約束の手順をふんでいたわけだ。
そもそもLinuxのプログラムはC言語(か他の言語)で書かれたファイルの集まりにしか過ぎないわけで、それをコンパイルコンパイルコンパイルと何度もやった挙句に実行ファイル(バイナリファイル)が使えるようになるのは変わってないはず。ここではそのソースファイルの集まりからRPMパッケージになるまでどのような付加価値が付いてくるのか考えてみる。
一番最初は make である。makeはおなじみの三つの手順がある。
> ./configure
> make
> make install
configureはインストールされるコンピュータのOS、CPU、入っているライブラリ等を調べる。makeではMakefileに書かれてあるようにコンパイルが実行される。そして最後にmake installで指定の場所に実行ファイルがコピーされる。
さて、これらをまとめて一つの書庫にしたのが〜.tar.gz、いわゆるtarballである。
「IT media エンタープライズ:Linux Tip ./configure;make;make installにはどんな意味がある?」
次にRPMである。RPMではよく知られているように、ソース版のSRPMとバイナリ版のRPMがある。両者はビルド(コンパイル)前と後の関係である。ではrpmパッケージの正体は何であろうか。
平たく言えば、rpmファイル=tarball + SPECファイルと言っていい。SPECファイルにはインストールする場合の依存関係やその手順が書かれている。rpmbuildを行う事によって、tarballとSPECファイルからSRPMまたはRPMができる。
スタックアスタリスク:カスタムRPMの作成
以上の事をまとめるとそれぞれは次のような関係になると思われる。

さて、tarballの時とRPMパッケージの時では何が変わるだろうか。Linuxのオーディオプレイヤーxmmsを見てみる。tarballはSourceForge.netにある。
http://sourceforge.net/projects/xmms/
そして、RPMパッケージは例えばVineLinuxの場合こんなところにある。
http://ftp.kddilabs.jp/pub/Linux/packages/Vine/Vine-3.2/i386/Vine/RPMS/
まずtarball+SPEC→RPMとなった後は、該当するプロセッサのアーキテクチャが限定される。上述の場合はi386である。これは大抵のパソコンはi386だろうから問題も無いだろうが、組込み機器なんかにLinuxを入れる時に困るだろう。tarballの場合、該当するアーキテクチャのgccがあればよい。
もう一つはディストリビューションが限定される可能性があると言う事である。上述のはVineだし、Degian/GNUはそもそもRPMではなくDEBというパッケージシステムを採用している。
2007年03月24日
YouTubeを貼ってみる
YouTubeの動画を貼り付けできるかやってみます。サンプルは例の一番人気のダンス。いつみても見入ってしまいます。貼り付けられるかどうかはタグが有効であるかどうか、って事になるんでしょうか?
2007年02月13日
不死鳥の如く蘇るAjax・PDA・自然言語
かつてJavaScriptといえばウェブサイトを装飾するには少し貧弱で、その割には重たくセキュリティも甘い、と言う認識であまり歓迎されていなかった。しかし今日ではAjaxという名を付けられ、グーグルを中心としてウェブアプリケーションの舞台に立っている。
@IT グーグルが語る:Ajaxはなぜ最初失敗し、その後成功したのか
この文章の中で、JavaScriptが一度は消えそして復活した理由はその頃を取り巻く環境にあると言う。
また自然言語も一度死に絶えそして復活したと言う。
この話は興味深い。自然言語を厳密で正確な情報として扱うと困難を極めるが、そのあいまい性を享受し、なんらかの補完手段(「検索」とか「ランキング」とか)を用いて自然言語を扱えば、それはそれは面白いものになる、というものである。
@IT グーグルが語る:Ajaxはなぜ最初失敗し、その後成功したのか
この文章の中で、JavaScriptが一度は消えそして復活した理由はその頃を取り巻く環境にあると言う。
また自然言語も一度死に絶えそして復活したと言う。
だが自然言語も第2の人生を得た。そのきっかけの一部を作ったのはMicrosoft Helpであり、次の一歩となったのはグーグルだったという。自然言語で成功するこつは、「あいまいな問題、人では解決できない問題から始め、検索を中心に適応させることだ。秘訣はランキングにある」と同氏。
この話は興味深い。自然言語を厳密で正確な情報として扱うと困難を極めるが、そのあいまい性を享受し、なんらかの補完手段(「検索」とか「ランキング」とか)を用いて自然言語を扱えば、それはそれは面白いものになる、というものである。