頭の中を整理。
必要な機能。
・指定回数の再生。
・永続的な再生(ループ)。
追加したい機能。
・マスク。
・エフェクト。
・任意の位置への検索。
改善したい点。
・負荷の低減。
放置してる欠点。
・chain(単体でも再生可能なOggファイルを単に繋げたファイル?)未対応。
とりえあず、必要な機能を満たさないと。
2008年01月22日
殆ど作り直し
1スレッドで全部やってるの変更中。
今作ってるのだとスレッドが一気に増える。
これで少しは負荷が安定するといいんだけど。
マルチスレッドって頭が痛くなる。
今作ってるのだとスレッドが一気に増える。
これで少しは負荷が安定するといいんだけど。
マルチスレッドって頭が痛くなる。
2008年01月03日
libtheora
beta2で止まってるのかと思ってたら、svnの方で色々更新されてた。
最新(?)のソースからビルドしたライブラリをリンクしてみた。
今までPostProcessingLevelを最大とかにするとノイズが入ってたのがなくなった。何だったんだろう。
あとちょっと速くなったのかな?
最新(?)のソースからビルドしたライブラリをリンクしてみた。
今までPostProcessingLevelを最大とかにするとノイズが入ってたのがなくなった。何だったんだろう。
あとちょっと速くなったのかな?
2007年11月29日
video player
しばらく放置してて最近ちょっと触ったら、
いきなり再生負荷が倍以上になった。
と思ったら画面を16ビットモードにしていたのを忘れてた。
画面への描画にはGDIを使用している。
内部のデータは32ビットなので16ビットに変換する作業が生じる。
こんなに負荷がかかるんだ……。
いきなり再生負荷が倍以上になった。
と思ったら画面を16ビットモードにしていたのを忘れてた。
画面への描画にはGDIを使用している。
内部のデータは32ビットなので16ビットに変換する作業が生じる。
こんなに負荷がかかるんだ……。
2007年11月15日
nptheora
nptheora.dll
NScripterでTheoraを再生するプラグイン。
前の記事のプレイヤーを殆どそのまま移植したもの。
一応レイヤーに描画してるのでテキストやスプライトを重ねることが出来たり、NSAファイルからも再生出来る。
使用例:
*define
setlayer 10,10,"nptheora.dll"
game
*start
setwindow 58,374,22,4,24,22,0,6,1,1,1,#AAAAAA,40,350,600,470
lsp 10,"*10"
;// test.ogvファイルを開く
layermessage 10,"Open(test.ogv)"
;// 今開いているファイルを再生する
layermessage 10,"Play()"
test.ogvファイルを再生中です\
クリック後に一時停止します\
;// 再生を一時停止する
layermessage 10,"Pause()"
一時停止中\
クリック後に再生を再開します\
;// 再生
layermessage 10,"Play()"
再生中\
クリック後に再生を停止し、ファイルを閉じます\
;// 再生を停止する
layermessage 10,"Stop()"
再生を終了しました\
リセットして最初に戻ります。\
;// 開いているファイルを閉じる
layermessage 10,"Close()"
;// リセット
csp -1
reset
end
NScripter - Takahashi's Web
http://www.nscripter.com/
NScripterでTheoraを再生するプラグイン。
前の記事のプレイヤーを殆どそのまま移植したもの。
一応レイヤーに描画してるのでテキストやスプライトを重ねることが出来たり、NSAファイルからも再生出来る。
使用例:
*define
setlayer 10,10,"nptheora.dll"
game
*start
setwindow 58,374,22,4,24,22,0,6,1,1,1,#AAAAAA,40,350,600,470
lsp 10,"*10"
;// test.ogvファイルを開く
layermessage 10,"Open(test.ogv)"
;// 今開いているファイルを再生する
layermessage 10,"Play()"
test.ogvファイルを再生中です\
クリック後に一時停止します\
;// 再生を一時停止する
layermessage 10,"Pause()"
一時停止中\
クリック後に再生を再開します\
;// 再生
layermessage 10,"Play()"
再生中\
クリック後に再生を停止し、ファイルを閉じます\
;// 再生を停止する
layermessage 10,"Stop()"
再生を終了しました\
リセットして最初に戻ります。\
;// 開いているファイルを閉じる
layermessage 10,"Close()"
;// リセット
csp -1
reset
end
NScripter - Takahashi's Web
http://www.nscripter.com/
2007年11月13日
Theora
Xiph.orgが公開している動画圧縮コーデック。
リファレンスライブラリがlibvorbisと同じライセンスで利用しやすい。
現在のバージョンはbeta2。
ここに試験的に作った再生プログラムを置いておく。
かなり再生負荷が高い感じがする。
自分がへっぽこなせいだろう。
もう少し改善したい。
Theoraファイルの作り方
ffmpeg2theora
上記サイトのdownloadページからWindows用バイナリを選択。
ダウンロードしたファイルは圧縮されていないよう。
そのままコマンドラインから使用する。
使用例:
>ffmpeg2theora-0.19 -v 5 -a 3 -o test.ogv test.avi
これで殆どのファイルをTheora+Vorbisに変換してくれます。
-vはビデオの品質(0~10)、-aはオーディオの品質(-2~10)、-oが出力先のファイル名です。
他にあって引数に何も与えずに実行するとオプションの詳細が表示されます。
Theora対応プレイヤー
VideoLAN - VLC media player
リファレンスライブラリがlibvorbisと同じライセンスで利用しやすい。
現在のバージョンはbeta2。
ここに試験的に作った再生プログラムを置いておく。
かなり再生負荷が高い感じがする。
自分がへっぽこなせいだろう。
もう少し改善したい。
Theoraファイルの作り方
ffmpeg2theora
上記サイトのdownloadページからWindows用バイナリを選択。
ダウンロードしたファイルは圧縮されていないよう。
そのままコマンドラインから使用する。
使用例:
>ffmpeg2theora-0.19 -v 5 -a 3 -o test.ogv test.avi
これで殆どのファイルをTheora+Vorbisに変換してくれます。
-vはビデオの品質(0~10)、-aはオーディオの品質(-2~10)、-oが出力先のファイル名です。
他にあって引数に何も与えずに実行するとオプションの詳細が表示されます。
Theora対応プレイヤー
VideoLAN - VLC media player