VB(Visual Basic)2008で質問です。


VBからffmpegを、DOS窓を出さずに実行させる方法を教えてください。

なお、ffmpeg実行時にDOS窓を出して処理させるところまでは、既に成功しています。
対象OSは、WindowsXPSP2以降で、Vista以降も含みます。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/05/25 17:30:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:RC30-popo No.1

回答回数345ベストアンサー獲得回数13

ポイント60pt

単純にShell関数ではダメですか?

Pathnameにプログラムのパスと引数を文字列で格納して、

Shell(Pathname,vbHide,True)

http://msdn.microsoft.com/ja-jp/library/xe736fyk%28VS.80%29.aspx

http://msdn.microsoft.com/ja-jp/library/x91s3x5x%28v=VS.80%29.as...

id:halohalolin

RC30-popoさんありがとうございます。

Shellについて、初めて知りました!便利そうなAPI?ですね。

参考にさせていただきます。

2010/05/24 23:05:16
  • id:halohalolin
    なお、私が現在成功している、ffmpeg実行時にDOS窓を出してでもいいから処理させる例は、以下のとおりです。
    ※下記のプログラムは、3gpファイルからjpg形式のサムネイル画像を作成するプログラムです。
     movie.3gp、example.jpg、output.logのフォルダ階層は、本番では別フォルダ階層へ保存する予定です。

    strOption = _
    "/c ffmpeg.exe " & _
    " -i " & """.\movie.3gp""" & _
    " -f image2 -vcodec mjpeg -vframes 1 -ss 1 -s 320x240 " & """.\example.jpg""" & _
    " 2>" & """.\output.log"""

    sdgProcessStartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
    sdgProcessStartInfo.Arguments = strOption

    System.Diagnostics.Process.Start(sdgProcessStartInfo)

    なお、FFmpegはオープンソースの動画変換ソフトです。
    http://ja.wikipedia.org/wiki/Ffmpeg

    よろしくお願いします。
  • id:halohalolin
    RC30-popoさんありがとうございます。

    Shell関数、便利ですね!助かりました。
  • id:halohalolin
    なお、ffmpegの部分の引数をshell関数は使うのが苦手みたいです。

    そのため、ffmpegの部分は、一度バッチファイルに書き出した上で
    shellは書き出したバッチファイルを処理するようにしました。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません