プログラム / 2008/10/29 (Wed) / 編集 |
今使っているffmegXというソフトが有料(勝手にfreeで使ってる)なのでソフトを経由せずに直接ffmpeg(無料)でやってみるテスト
でもそういうソフトは制限があったりするので、コマンドラインからやるとソフトでできる事以上のことができる、もちろんスクリプト書いて大量に変換なんてことや自作のソフトに組み込む事もできる。
こんな感じ
ffmpeg -y -i input.flv -ab 128 -ar 44100 output.mp3
[2009/4/29]追記
どうやらオプションがいくつか修正されたらしいのでメモ
-vcodec xvid → -vcodec libxvid
-vcodec h264 → -vcodec libx264
-acodec mp3 → -acodec libmp3lame
-acodec aac → -acodec libfaac
-bitexact → -flags bitexact
外部のライブラリ(別途インストール&ffmpegの再コンパイルが必要)を利用するものが、形式名でなくライブラリ名を指定する方式に変更になったらしい。
以下、読み替えてください。
参考:[MobileHackerz]最新FFmpeg
FFmpegとは
FFmpegというのは動画と音声を変換することのできるフリーのソフトなわけで、できることはたっくさんあるが引数もたっくさんあるのでめんどくさく、ffmpeg単体として使う事はあんまりなく、ffmpegを内蔵したソフトを使うのが一般的でもそういうソフトは制限があったりするので、コマンドラインからやるとソフトでできる事以上のことができる、もちろんスクリプト書いて大量に変換なんてことや自作のソフトに組み込む事もできる。
こんな感じ
ffmpeg -y -i input.flv -ab 128 -ar 44100 output.mp3
[2009/4/29]追記
どうやらオプションがいくつか修正されたらしいのでメモ
-vcodec xvid → -vcodec libxvid
-vcodec h264 → -vcodec libx264
-acodec mp3 → -acodec libmp3lame
-acodec aac → -acodec libfaac
-bitexact → -flags bitexact
外部のライブラリ(別途インストール&ffmpegの再コンパイルが必要)を利用するものが、形式名でなくライブラリ名を指定する方式に変更になったらしい。
以下、読み替えてください。
参考:[MobileHackerz]最新FFmpeg
PR
プログラム / 2008/10/27 (Mon) / 編集 |
というわけで、だいぶほっといたけど軽くまとめてみる
あれ?前に書いたっけ?おもいだせないからいいかw
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
public static void main(String[] args)
void main(void)
なんもないのかよ、、、
あれ?前に書いたっけ?おもいだせないからいいかw
Main関数
VBC++の場合
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- HINSTANCE hInstance このプログラム(インスタンス)を識別する番号
- HINSTANCE hPrevInstance アプリケーションの以前のインスタンスを識別しますが、WIN32アプリケーションの場合、 このパラメータは常にNULL(なに言ってるのか不明、、、)
- LPSTR lpCmdLine 文字列のポインタで、このアプリケーションを起動するときのパラメータの文字列 (つまりargsみたいなもの)
- int nCmdShow 起動時のウィンドウの状態を指示します。ウィンドウの状態とは、通常・最大化・最小化を示します
Javaの場合
public static void main(String[] args)
- String[] args コマンドライン引数
Carbonの場合
void main(void)
なんもないのかよ、、、
プログラム / 2008/10/16 (Thu) / 編集 |
先日の続き、どうにかいくつかは移植できたのでメモっとく
dsp : VC++用プロジェクトファイル
dsw : Developer Studio Workspaceで使われるプロジェクトワークスペースファイル
ncb : VC++で使用されるパーサー情報ファイル
opt : ワークスペースオプションファイル。Developer Studio Workspaceでのウィンドウレイアウト等の情報が入るファイル。
plg : ビルドの結果
rc : リソース ファイル(メニューバーとかウィンドウとかの情報もある)
aps : リソース ファイルのバイナリ版
hpp : ヘッダファイル
cpp : プログラム
VC++からJavaに移植するには最低でもhppとcppとrcをみないといけない、Javaにはヘッダファイルもリソースファイルもないのでこの三つすべてをjavaにとうごうすることになるわけで、、、
とくにメニューバーがはまった、「なんぞこれいったいどこでメニューバー定義支店だ!?」とおもったらrcファイルの中だった、、、
てかさ、なにが困るって俺その移植するプログラムが動いてるとこ一回もみたことないんだよね(笑)
だからメニュー項目ひとつわからない、てか成功したらどんな風に動くのかもわからない、どうする?俺!
ファイル編
VC++のファイル達dsp : VC++用プロジェクトファイル
dsw : Developer Studio Workspaceで使われるプロジェクトワークスペースファイル
ncb : VC++で使用されるパーサー情報ファイル
opt : ワークスペースオプションファイル。Developer Studio Workspaceでのウィンドウレイアウト等の情報が入るファイル。
plg : ビルドの結果
rc : リソース ファイル(メニューバーとかウィンドウとかの情報もある)
aps : リソース ファイルのバイナリ版
hpp : ヘッダファイル
cpp : プログラム
VC++からJavaに移植するには最低でもhppとcppとrcをみないといけない、Javaにはヘッダファイルもリソースファイルもないのでこの三つすべてをjavaにとうごうすることになるわけで、、、
関数編
VC++ | Java | 対応 |
---|---|---|
define | ない、、、 | final宣言した変数で代用 |
operator | ない、、、 | メソッドで代用 |
構造体 | ない、、、 | クラスで代用 |
WinMain関数 | もちろんない | main関数でやるんだが、、、 |
各種コールバック関数 | これもない | リスナで頑張る |
HDC | たぶんCanvas | おそらく、、、 |
GetAsyncKeyState | 「今なにが押されてるか」はしらべることができない | KeyListenerとかで代用、だがものすごく修正が必要、、、 |
とくにメニューバーがはまった、「なんぞこれいったいどこでメニューバー定義支店だ!?」とおもったらrcファイルの中だった、、、
てかさ、なにが困るって俺その移植するプログラムが動いてるとこ一回もみたことないんだよね(笑)
だからメニュー項目ひとつわからない、てか成功したらどんな風に動くのかもわからない、どうする?俺!