Windows版よりは優秀
開発中のUbuntu版AG-ムービーカッターは、既知の不具合は全て潰せたので、βリリースも可能になった。Ubuntu版はWindows版からの移植なのだが、AGM形式動画の再生/エンコード性能は上がっていて、不具合も少ないかもしれない。
« 2012年7月 | トップページ | 2012年9月 »
開発中のUbuntu版AG-ムービーカッターは、既知の不具合は全て潰せたので、βリリースも可能になった。Ubuntu版はWindows版からの移植なのだが、AGM形式動画の再生/エンコード性能は上がっていて、不具合も少ないかもしれない。
今日は昨日書いていた32Bit版の問題を潰していたのだが、何とかなったような気がする。なので、さらに様々な動作モードでの動作確認をやったり、AGM形式エンコードの性能を上げたりしていたのだが、新たな不具合が見つかったので、明日修正する。
Ubuntu版AG-ムービーカッターのβ公開も近いので、今日はDebパッケージ化について調べてみた。Debパッケージ自体は作れそうなのだが、Debパッケージだけではライブラリの依存関係を解決できないようなので、今回はパッケージ化は見送る。
今日はUbuntu版AG-ムービーカッターのYV12変換ルーチンをSSE2命令を使って軽量化したのだが、現行版よりは二倍近く軽量化できた。比較のためにLibavのsws_scaleを使って変換してみたのだが、自前ルーチンの方がずっと軽かった。
今日は開発中のUbuntu版AG-ムービーカッターの不具合を潰していたのだが、ほぼ良い感じになった。ただ、画像の内部表現がRGB形式のため、X video extension使用時の再生が少し重くなっていた。なので、YV12変換を少し軽くしておく事にした。
今日は開発中のUbuntu版AG-ムービーカッターにWebMエンコード設定と映像切り出し機能を実装した。これで、現行Windows版相当の全機能を実装できた事になるのだが、詳細不具合修正にもう一日かける。その後、Debパッケージ化してみる。
今日はUbuntu版AG-ムービーカッターのWebM形式エンコードの設定を色々と試してみたのだが、映像品質はビットレートで指定可能だ。フレームレートとサイズ設定も可能なのだが、キーフレーム間隔を長くするとAndroidでの視聴も安定した。
今日は開発中のUbuntu版AG-ムービーカッターにWebM形式でのエンコード機能を実装した。まだ、細かい品質設定は出来ないのだが、AGM形式を含む既存動画をWebM形式で再エンコードし、出力ファイルを他環境で再生出来るようにはなった。
昨日、Ogg Vorbisでの音声エンコードが出来るようになったので、今日はWebMに行きたい所ではあったのだが、昨日の時点ではエンコード時のVorbis設定はデフォルト値だったので、今日は変更用のダイアログを作成し、変更出来るようにした。
今日は、音声トラックの切り出し機能にOgg Vorbis形式を実装した。エンコード自体は問題なく出来ていると思われるのだが、出来上がったOggファイルを再生すると問題が出た。調べてみると、PTS/DTSが2秒毎くらいにしか入っていなかった。
今日は昨日の6件の不具合を修正し、次に、未実装にしてあった音声トラックの切り出し機能にwav形式のみ実装した。wav形式のみ実装したのは、wav形式なら自前ルーチンだけで事足りるからだ。この辺は、C++からC++への移植なので楽ではあるのだが。
今週はUbuntu版AG-ムービーカッターにエンコード機能を実装するのだが、今日の所はAGM形式エンコード機能を完成させるべく、「エンコード設定」にあるAGM形式の設定が行えるようにした。その後、色々なモードで動作確認し、不具合を確認した。
今はUbuntu用のAG-ムービーカッターを開発中なのだが、後は、エンコード処理ルーチンを真面目に実装するだけなので、今週中には開発は終わる筈だ。完成後には、ホームページにバイナリをアップするのだが、暫くはβ版のまま放っておくつもりだ。
一昨日、昨日と、Ubuntuでのプログラミングに慣れていないがために入り込んだバグを潰したのだが、今日、もう一つ潰した。そのバグというのはイコライザの効き方が何か変、というモノだったのだが、ソースコードはWindows版からのベタコピーだった。
今日はUbuntu版AG-ムービーカッターにエンコード機能を実装しようか、と、思っていたのだが、映像出力をOpenGLにしている状況でフルスクリーンと通常スクリーンを切り替えていると使用メモリ量がどんどん増えたため、原因を調べて修正した。
開発中のUbuntu版AG-ムービーカッターは、トリミング機能も実装できたので、後は、エンコード処理をちゃんと実装すればβ公開が可能になるのだが、その前に、今日はコード整理なんかをやっていた。たまにデッドロックしていた不具合も修正した。
今日は「波動エンジン出力低下、されど航行に支障なし」という宇宙戦艦ヤマトの徳川機関長が残した名台詞を思い出した。これは、昨日の半透明ウインドウはAG-ムービーカッターでは使い辛かったので使えなかったのだが、実質的には問題は無いからだ。
今日は、昨日書いていたように、Ubuntu版AG-ムービーカッターにトリミング機能を実装していたのだが、ダイアログ作成後、ある意味、今日の本題だった半透明ウインドウの実現方法を試してみた所で力尽きた。何とか、作り方は判ったのだが。
開発中のUbuntu版AG-ムービーカッターで、今日は、映像調整とアスペクト比の設定機能が動作するようになった。両者共に、設定のためにダイアログを作成しなければならなかったために時間がかかったのだが、まだトリミング機能が残っている。
昨日書いたように、Ubuntu版のAG-ムービーカッターにイコライザダイアログを追加するとプログラムの書き方によっては、クラッシュしていたのだが、色々と試してみた所、スタックオーバーフローっぽかったので、その方向で対処した。
今日もUbuntu版AG-ムービーカッターの開発を進めていたのだが、イコライザ設定ダイアログの見た目を作った所で力尽きた。作業量が少し多い、という事もあったのだが、主因は、プログラミングしていて、何個かの、変な現象に遭遇した事だ。
今日は開発中のUbuntu版AG-ムービーカッターにカスタムダイアログが必要になる機能を実装していたのだが、ほぼ、ファイル情報ダイアログのみで力尽きた。最初、Boxコンテナを使って何とかしようとしたのだが、結局、Fixedコンテナを使った。
今日は、昨日に引き続いてUbuntu版AG-ムービーカッターに、その他、の処理を実装していた。まだ、ダイアログを使った各種設定機能が入っていないため、一般動画形式でのエンコードを含む高級な機能は使えないのだが、使い心地は悪くない。
今日は開発中のUbuntu版AG-ムービーカッターに未実装にしてある機能を実装していたのだが、少し埋まってきた。オリジナルのWindows版は何回かのバージョンアップを経て現在に至っているので、それを移植しているUbuntu版は初版から多機能だ。
昨日書いたように、今日はAGM形式でのエンコード機能を実装した。AGM形式でのエンコードは全て自前ルーチンで出来るため、トラブル事は無かった。なので、未実装にしてあった進捗状況のオーバーレイ表示もCairoを使って実装した。
開発中のUbuntu版AG-ムービーカッターは既に通常の再生系については普通に動作するようになっていて、フルスクリーン再生だとかも出来るようになったため、次のステップとしてエンコード部の実装に入った。とりあえず、静止画出力は既に出来る。
ここの所、細かい話が続いたので、時事ネタにしたいのだが、ネタが何もない。時系列的にはMacのMountain LionとWindows8のRTM版がリリースされたのだが、双方共に、毎日書いているこんなブログの一記事にすら出来ないような状況だ。
Ubuntu版AG-ムービーカッターもAGM/一般動画の再生をGUIを色々と使って行えるようになっているのだが、現時点では、まだ、半透明ウインドウは使用していない。今後、使う事になる筈なので、その作り方を調べてみたのだが、判然としない。
今日もUbuntu版AG-ムービーカッターの開発を進めていたのだが、とりあえず、昨日は中途半端だったフルスクリーン表示を何とかし、続いてポップアップメニューとドラッグ&ドロップ機能を実装した。GTKアプリは初めてなので、結構疲れる。
今はUbuntu版AG-ムービーカッターの開発フェーズで、既にAGM形式に加えて、WMV/MPG/MP4なんかの一般動画形式もLibavを使う事で再生出来ているため、次のターゲットはエンコードになるのだが、その前に、その他の部分を実装中だ。
今日は開発中のUbuntu版AG-ムービーカッターにLibavを使った再生処理を追加した。試しに追加した時にはクラス変数を渡すとクラッシュする関数があったため、スタック変数を渡したのだが、真因が判ったため、今回はクラス変数を渡せた。