DVD Flick猫研版のTODO
DVD Flick日本語版のTODOメモ。恐らく一生やらないものも含む。スローガンは面倒なのでなかなか手を付けない。
比較的やる気のするものorやらなきゃなぁと思う(優先度高)もの
- メニューテンプレートのアップローダを猫研サイトに作成。
- やればすぐなんだけど手を付けるのが億劫。
- 作りかけたが、運用上の懸念でストップ。
- 恐らく著作権を侵害したテンプレートが多数アップロードされてしまう。
- 侵害の事実の確認、削除の判断基準が難しい。
- メニューテンプレートのフォント・背景画像をオーバーライド可能にする。
- 比較的簡単にできるとは思うけどフォントの検索とか面倒。
- 高速化(解析部)のための調査。
- ffmpegのstdout/stderrのバッファリングをoffにすればいいはず。
- ffmpegはcygwinでビルドされているかと思ったらmingwの模様。
- msvcrtからのインポートテーブルにfprintf等がない。どうやらPRINTF_EXPONENT_DIGITSというのが関係していそうで、C99/POSIXのprintf系の書式指定子をmsvcrtがサポートしていないために、mingwrt側でCライブラリの一部を実装している模様。詳細はmingw-runtime3.15のリリースノート(MLより)にある。
- 調査結果(一部)
- msvcrtをProxyDLL方式でフックしてもRtlEnterCriticalSectionで落ちる。
- どうやらmsvcrtのフックには何か問題がある模様。
- 前項の参照記事はInjectionに関するもののようだがProxy方式でも問題?
- msvcrtをフックするのではなくmsvcrtが呼び出すAPIをフックしろとあるが、バッファリングはmsvcrt内部で行っていると思われるので対処のしようがない。
- VCに#pragma comment(linker, "/export:aaa=bbb")なんて指定方法があるらしい。が、VC6.0では上手く動かない?
- MinGWでもVCでもProxyDLLを作るべく頑張ったけど、これはちょっと無理かな…?
- メニューのレンダリングの質改善。
- 本来優先度は低い(本家で対応して欲しい)のだが多少調査してしまったため。
- 基本的にはDELETESCANS(最近傍点法)をHALFTONEで処理するように持って行く。
- 透過と混合色の問題でDELETESCANSが使用されている模様。
- 背景と事前に合成する方法で透過を不使用にすればOKではないか?
- ただし、spumuxとDVDの仕様がフルカラーを許容することが条件。
将来的には手を付けたい(優先度中)もの
- 自動?avisynth経由読み込み。
- 諦め気味、後からの変更や保存を考えるとavsをユーザに認識させないのは難しい。
- 別ツールとして実装は考慮。
- ffmpegのavs対応は直ではなくvfapi経由のようなのでavisynthは別途要インストになる。
- aften対応の拡充。
- aac/dtsの5.1chのみにMPEGオーダーでac3にはAC-3オーダーで自動適用とか。
- 強制的に使用できないのも困る、というケースはあるか?
- ffmpegにchannel_layoutとかできてるけど順序は制御できない?
- 新しいffmpegではac3のエンコーダ側が正しく対応するようになってたりしないか?
- 開発のベースをsourceforgeとかに移動。
- なんかいじれる人が出てきたっぽいのでアリかも。
- ffmpegのオプション。
- 幾つか納得の行かないオプションがあるので考慮する。
- minrate/maxrateをどう設定しているか調査。
- bufsize(VBV)が不正っぽいので調査。今更記載してあるところあるかな…。
- その他自由に追加できるようにする、とか。
- 幾つか納得の行かないオプションがあるので考慮する。
- 高速化(結合処理を省略)
- stdinをファイルにappendするツール(teeみたいだけどちょっと違う)作成。
- ダブルバッファ+非同期I/Oで実装してみたい。上手く行かなければスレッド使用。
- これをすればunti-fragmentになるしffmpegを非同期I/O化できる。
- pipeとmemcpyのオーバーヘッドがどの程度のものかが懸念。
- cascadingExecuteの変更で既存を大きく変えず上手く対応できないか?
やる気の薄い(優先度低)もの
- インターレースの自動判定(MediaInfo使用)
- ffmpegのswscalerはinterlaced resizeではないのであまり有用ではない。
- アスペクト比を確認するにはプレビューが小さすぎる。
- 確かにそうだとは思うけどどうやって表示すべきか…。
- LPCM/AAC/mp2/dtsのストリームコピー。
- mplexではAAC以外は問題なさそう。("MPEG layer I/II/III, DTS, AC3 and LPCM")
- delaycutも"ac3, dts, mpa and wav"と言っているがmpaがAACを含むかは謎。
- LPCMやdtsの結合(concat)に専用ソフトが必要かも。
- AAC/mp2はAC3と同様に単純にcatしてもOKと思うけど。
- 手動チャプタ設定
- 好きなところに打てる、ただしプレビュー(映像を確認しながら)はやるつもりない。
- MP4のチャプタを調べて対応できるならする。
やる気の薄さがオゾン層くらい(着手するかも微妙)のもの
- 日本語化をより洗練させる。
- フォントの一括設定とか→面倒
- リストボックスとかリソースもの→面倒
- ImgBurn方式なら楽だが制作側は大変だから本家はやってくれないだろう。
- 原文をキーにハッシュ引く方法もあるが起動が重くなりそう。
- 高速化(複数同時エンコード)
- en-fragmentが懸念だが上記のtee改を使用すればある程度緩和可能。
- 複数の動画を投入しないと意味ない。
- 管理が難しい。cascadingExecuteがものすごく変わる。
- 字幕関連
- mkvから自動抽出とかdvdsub対応とか、ただしできるか不明。
- dvdsubは、[idx+sub]は取り込めないっぽいので[sub+bmp]に変換する必要がある?
- vsconv.exeはうまく動作しない場合がある模様。dvdsubはやはり除外か?
- ffmpegではdvdsubはタイプが表示されるが、それ以外は0x0000等となってしまう模様。
- mkvから自動抽出とかdvdsub対応とか、ただしできるか不明。
やらないことが決定してしまったもの
- スレッド数のデフォルトをコア数x1.5にしてみる。
- C2Qでテストしてもらったけど意味無いみたい。
- どちらかというと根本的な改善としてffmpeg-mtに期待した方がいいんじゃないだろうか。
- 読み込みにスレッド使用とか。
- そんな設定がない。あった気がしたけどx264(--thread-input)と勘違いした?
完了
- 音声のディレイ(遅延)を手動で設定できるようにする。
- 1.3.0.7では-160ms固定になってしまっている。この値の根拠は不明。
- 簡易的にユーザが変更できるようにした。
- 音声のディレイ検出
- MediaInfoのCLI版を同梱。
- 音声のディレイは解釈が色々あるようなので注意。
- ひとまず解釈は無視してストレートに実装。以降はbugfixということで。
- ffmpegのオプション。
- Bを指定可能(音声delayとclosed-gopは取り敢えず無視)に。
- 本家で14になっているNTSCのGOP長を一般的な15に。
最終更新時間:2009年10月25日 01時32分43秒