忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
現代魔法(nearly equal 情報技術)を勉強中な人のメモ(チラシの裏)
/ 2024/05/17 (Fri) / 編集
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

/ 2008/10/29 (Wed) / 編集
今使っているffmegXというソフトが有料(勝手にfreeで使ってる)なのでソフトを経由せずに直接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

拍手[1回]

PR
/ 2008/10/27 (Mon) / 編集
というわけで、だいぶほっといたけど軽くまとめてみる
あれ?前に書いたっけ?おもいだせないからいいかw

Main関数

VBC++の場合


int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  1. HINSTANCE hInstance
  2. このプログラム(インスタンス)を識別する番号
  3. HINSTANCE hPrevInstance
  4. アプリケーションの以前のインスタンスを識別しますが、WIN32アプリケーションの場合、 このパラメータは常にNULL(なに言ってるのか不明、、、)
  5. LPSTR lpCmdLine
  6. 文字列のポインタで、このアプリケーションを起動するときのパラメータの文字列 (つまりargsみたいなもの)
  7. int nCmdShow
  8. 起動時のウィンドウの状態を指示します。ウィンドウの状態とは、通常・最大化・最小化を示します

Javaの場合


public static void main(String[] args)
  1. String[] args
  2. コマンドライン引数

Carbonの場合


void main(void)
なんもないのかよ、、、


拍手[0回]

/ 2008/10/16 (Thu) / 編集
先日の続き、どうにかいくつかは移植できたのでメモっとく

ファイル編

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ファイルの中だった、、、



てかさ、なにが困るって俺その移植するプログラムが動いてるとこ一回もみたことないんだよね(笑)
だからメニュー項目ひとつわからない、てか成功したらどんな風に動くのかもわからない、どうする?俺!

拍手[0回]

忍者ブログ [PR]