• ベストアンサー

DirectShowでの動画の保存

現在DirectShowで再生している動画をaviで保存しようとしています。 しかし動画の再生はできたのですが、aviに保存する方法がよくわかりません。 http://www.geekpage.jp/programming/directshow/video-capture-save-avi.php このページを参考にして、ビデオデバイスの部分を再生している動画ファイルに変更したいのですがどのようにすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんばんは。  其れは、PCに接続したビデオカメラなどから上がってくる画像データを取り込むプログラムだと思います。  ライブストリーミングは、ネットから動画データを受信していると思うので、扱いとしては、動画ファイルを開いて読み込み続ける方法と同一なのではないでしょうか。  そのURLで言うと、以下辺りだと思います。  http://www.geekpage.jp/programming/directshow/getcurrentimage.php  後、「ISampleGrabber」と言うのも出て来ていますが、其方の方も、同じ事が出来るので、一通り拝見しておくと良いと思います。

kaz_5121
質問者

お礼

先ほどに引き続き返答ありがとうございます。 ライブストリーミングの動画の場合ですとなぜかIBasicVideoを使ったときにサムネイルがうまく出力されなかったのできちんと出力されたSampleGrabberを使ってみることにしました。 http://www.geekpage.jp/programming/directshow/samplegrabber-3.php を参考にしているのですが、サムネイルの保存は問題なくできるのですが、画像以外での保存の仕方がわかりません。 CreateFile等の部分を々変更すればよいかなどよろしければ教えていただけないでしょうか。

関連するQ&A

  • DirectShowで作成した動画がうまく見れない

    現在、Visual Studio2010のC++で、webカメラで撮影した動画をDirectshowを使ってaviファイルとして保存するようなプログラムを書いているのですが、ここで出力されたaviファイルをQuicktimePlayerで再生しようとすると、音声のみが流れて画面は真っ黒という状態が起きてしまいます。 再生のため、一通りのコーデック(ffdshow,DivX等)をインストールして再生を試みたのですが、全く変化がありません。 また、DirectShowで動画作成時に圧縮を行う際には"x264vfw - H.264/MPEG-4 AVC codec"を使用しました。 一応のため、作成した動画を真空波動研で調べてみた結果 +++++++++++++++++ [h264.avi] 640x480 24Bit H.264 30.00fps 233f 1809.00kb/s PCM 44.10kHz 16Bit 2ch 1411.20kb/s [RIFF(AVI2.0)] 00:00:07.766 (7.766sec) / 3,195,904Bytes h264.avi / DLL 110813 Unicode +++++++++++++++++ という内容となりました。 どうにかして出力されたaviファイルをQuickTimePlayerで見れるようにしたいと考えています。 再生部分の問題なのか、保存部分の問題なのか全くわからない状態です・・・ かなり限られた状況なので、難しい質問かもしれませんが、何か解る方がいらっしゃいましたらご教授お願いします! また、動画圧縮時に他にもいろいろなコーデックを試してみたのですが、その中にもQuicktimePlayerで見れるものと見れないものが存在しました。 手掛かりになる情報かどうかはわかりませんが、それも記述しておきます。 (×:見れないもの) Microsoft Windows Media Video 9 Microsoft MPEG-4 Video Codec V3 DivX 6.9.2 Codec (4 Logical CPUs) (○:見れるもの) Intel IYUV コーデック MJPEG Compressor Microsoft Video 1

  • DirectShowでの動画ファイルの保存方法

    DirectShowで再生している動画ファイルを別ファイルに保存するというプログラムを作成しようとしていますが 再生はできたものの動画ファイルの保存方法がさっぱりわかりません まだ初心者なのですがわかりやすく教えていただけないでしょうか?

  • veohの動画を保存したのですが・・・

    veohの動画を http://hanagasira.s25.xrea.com/php/video.php ↑のサイトを使用して保存したのですが FLVplayerでは動画を再生できませんでした。 動画を再生するにはどのような操作を行えばよいでしょうか? よろしくお願いします。

  • Directshowフィルターのインストールについてです。

    Directshowフィルターのインストールについてです。 ネットで落とした動画をDivX Plus Playerで再生しようとすると 「このビデオは対応していないフォーマットです。 Directshowフィルターを追加インストールしないと再生できません。」 と出て再生できません。 WMPで再生すると 「そのファイルの圧縮に使用したコーデックをサポート していない可能性があります。」と出ます。 Directshowフィルターをインストールすればよいのでしょうか? ネットで探してみましたがダウンロード出来る場所が 見当たりません。 場所をご存知の方よろしくお願いいたします。

  • PSPの動画保存について

    PSPの動画保存について ニコニコ動画を保存したいのですが、 こちらのhttp://hanagasira.s25.xrea.com/php/video.php のように URLをコピペしてダウンロードできるサイトってないでしょうか? 私のパソコンだとユーチューブしか保存できないようなので・・・汗 ちなみにこちらのサイトは全部試したのですがダメでした^^; http://www.vid-dl.net/ http://inventor.jp/nicosave/ http://aerith.mydns.jp/bin/nicodav/ http://www.dl-video.net/

  • 動画を保存したい!!

    Veah Videoというサイトにある動画をAVIで保存したいのですがどうしたらいいのでしょう?

  • VC++ DirectShow グラフにフィルターを追加する方法

    DirectShowにてビデオキャプチャデバイスから ファイルに保存する(プレビューウィンドウ付き)で 普通にAVIファイルには保存できますがフィルターのMicrosoft Video 1を追加して圧縮をして保存するようにしたいと思います。 (上記フィルタは本当に圧縮かどうかはわかりませんが。。。 GraphEditで確認したところ圧縮(保存ファイルサイズが激減)したようでしたので。。) 現在のフィルターグラフにMicrosoft Video 1を追加する方法をご教示願えればと思います。 初心者なのでMSDNなど見てもいまいち理解できません。 簡単なサンプルなどあれば助かります。 よろしくお願い致します。

  • DirectShowでのfilterの作り方

    スマートデバイス上で動かす動画処理プログラムを作ろうと思っています。 WindowsMobile 5.0 の機器なのですが、DirectShowのフィルタを自作すれば、目的が達成できるのではないかと考えています。 フィルタは C++ で作るしかないのですよね。。 Windows での開発自体が始めてのため、プロジェクト種類の選択時点で迷っている始末なのですが、参考にすると良いサイトなどがあれば教えてください。

  • 動画をスローにして保存したい

    wmvやaviの動画をスロー再生して保存できるフリーソフトはないでしょうか? 少なくとも0.7、0.8,0.9倍速ので保存できるものがいいです。 また、wmvやaviから変換することができる拡張子に対応しているならそちらでもいいです。 使用OSはVistaです。 どうか教えてください。

  • DirectShowを使ったファイル分割保存

    お世話になります。 現在DirectShowを使って、カメラから動画を保存するプログラムを作成しております。 このプログラムは数日単位を動作させる為、画像ファイルをある一定サイズ(時間)で 分割したいと考えております。 単純に考えると、一旦停止した後に別のファイル名で再度キャプチャを開始する事で 分割できると思いますが、その際に一定時間の抜けが発生してしまいそうなので、できる事なら カメラを停止せずに動的に出力ファイルを変更出来れば良いと考えております。 (とりあえず停止⇒再開を試してみようと思い、GeekなページにあるAVI保存コードをベースに、 途中でMediaCtrl::Stop後、一連のCOMオブジェクトを破棄した上で、再度CapGraphBuilderから 構築して別のファイル名で実行させてみましたが、RenderStreamで失敗してしまいました) 上記を行う場合、どの様にするのがよいでしょうか?(調査のきっかけとなるAPI等でも結構です) また、別に良いアイデアがございましたらご教示いただけると助かります。