現在C++のコンソールアプリケーションにおいて
動画ファイルの生成を行おうと思っています。
各フレームの画像をビットマップ形式で保持しており、
これを映像として書き出したいのです。

少し調べたところ、
MFCなどを使うものに関する説明は少しあったのですが、
標準C++用のAVI生成ライブラリなどがありましたら
教えていただきたいです。
動画ファイル形式はAVIには限定しません。
一般的なものであればなんでもいいです。
コンソールではやめといたほうがいいというのであれば
また他の方法を考えます。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

OpenCV辺りを試すなど。

    • good
    • 0

こんにちわ。



http://www.geekpage.jp/programming/directshow/

にあるサンプルはコンソールから実行する方式みたいです。

参考URL:http://www.geekpage.jp/programming/directshow/
    • good
    • 0

Video fot Windowsを使えばできるようです。



http://www.nips.ac.jp/~takahasi/memo/vfw/

あとはDirectShowですね。


>コンソールではやめといたほうがいいというのであれば

コンソールアプリでかまいませんよ。
ただし、作成したAVIをコンソールウィンドウの中で見ることはできませんが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
VfwというとWindowsの一番基本的な
ビデオ生成の手法で、
それを発展させたものがDirectShowと考えてよいのでしょうか。
DirectShowについて調べてみましたが
結局なにに使うものなのかが
よくわかりませんでした。
APIという概念の理解にもう少し時間が必要なようです。
とりあえず教えていただいたサイトでひとまず作ってみます。

お礼日時:2005/04/20 17:03

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q中2男子です。 博多で、女子とエ○いことをする予定があります。未成年のためホテルNG。無料がいいし、

中2男子です。
博多で、女子とエ○いことをする予定があります。未成年のためホテルNG。無料がいいし、いい場所ありますか?

Aベストアンサー

青かん

QMFC C++ と C++/CLI の文字列

VS2008です。

Library: NativeC++ with MFC -> DLL
  ↑↓
Wrapper: C++/CLI with .NET -> DLL
  ↑↓
Appli: VB.NET with .NET -> EXE

元々、ActiveXコントロール(非GUI利用)だったNativeC++で書かれたLibraryを
MFC DLLとしてビルドし、Wrapper 経由で Appli から使用できるよう
移植をしています。

Library から必要な関数を dllexport し、wrapper から参照し、
wrapper を Appli が参照して、使用できるようにしました。
int型を引数に取り、結果として返す関数は期待どおり動作しますが、
文字列だと上手く行きません。

Wrapper/Appli は System.CString で統一したいのですが、
Library ではどのような型として宣言すれば文字列のやり取りができるでしょうか。
( 引数・戻値の両者 )

CString wchar_t* char* System.String ALT::CStringT basic_string _bstr_t CComBSTR
LPCTSTR LPTSTR PCTSTR PTSTR LPCWSTR LPWSTR PCWSTR PWSTR BSTR…

なお、Library で下記のようにエクスポートし
__declspec(dllexport) BSTR test(LPCTSTR data);
wrapper で
BSTR hoge(LPCTSTR value){ return test(value); }
と宣言すると、wrapperのビルドで下記のエラーが表示されます。

エラー1error LNK2028: 未解決のトークン (0A000B39)
"wchar_t * __cdecl test(wchar_t const *)" (?test@@$$FYAPA_WPB_W@Z) が
関数 "public: wchar_t * __clrcall wrap::hoge(wchar_t const *)"
(?hoge@C3dlib@@$$FQ$AAMPA_WPB_W@Z) で参照されました。wrapper.objwrapper

エラー2error LNK2019: 未解決の外部シンボル
"wchar_t * __cdecl test(wchar_t const *)" (?test@@$$FYAPA_WPB_W@Z) が
関数 "public: wchar_t * __clrcall wrap::hoge(wchar_t const *)"
(?hoge@C3dlib@@$$FQ$AAMPA_WPB_W@Z) で参照されました。wrapper.objwrapper

エラー3fatal error LNK1120: 外部参照 2 が未解決です。

VS2008です。

Library: NativeC++ with MFC -> DLL
  ↑↓
Wrapper: C++/CLI with .NET -> DLL
  ↑↓
Appli: VB.NET with .NET -> EXE

元々、ActiveXコントロール(非GUI利用)だったNativeC++で書かれたLibraryを
MFC DLLとしてビルドし、Wrapper 経由で Appli から使用できるよう
移植をしています。

Library から必要な関数を dllexport し、wrapper から参照し、
wrapper を Appli が参照して、使用できるようにしました。
int型を引数に取り、結果として返す関数は期待どおり動作しますが、
文字列だと上...続きを読む

Aベストアンサー

Library の DLL に対して
Dumpbin /exports XXXXX.dll
とするとどうなりますか?

Q無料のドラマ・映画動画配信は危険ですか?

最近、有料のドラマ・映画i-modeの動画配信を楽しみにしていますが料金が高くて見るのをためらいます。
昨夜無料のドラマ等の動画配信中!見放題!を多数見つけました。

無料の動画配信にむやみにクリックすると危険ですか?

i-modeで無料動画配信で安心なサイトがありましたら教えて下さい

Aベストアンサー

見放題ってのに騙されちゃいかん。
携帯はどうかわからないけど
PCで 見放題 というのは
月○万円で・・・とかの場合がほとんどだよ^^;
しかも利用規約を済みから済みまで読んで
やっと見つけられるって感じ。
(アダルト系に多い)

質問者様がどのような無料動画を見ようと
してるのか・・・・がわからないけど^^;

まぁやるなら
危険覚悟で。

Q【VC++】MFC、C++/CLI(CLR)、C#の違い、及び、これからの展望

いつも大変お世話になっています。
VC++初心者です。

VC++6.0(MFC)、VC++2005(CLR)(C++/CLI)(Express Edition)を
同時期に使い始めて何ヶ月か経ちました。
現在では、CLIの方が圧倒的に開発スピードが早く(扱いやすい)、
逆に、MFCの開発スピードが遅く(扱いにくい)、イライラしっぱなしです。
(CLIの開発では、WEBにあるC#のコードを参考にしながら、
 コーディングしています。)

そこで、何点か疑問に思ったので、ご回答頂けませんでしょうか。
(1)CLIとC#を区別した理由は何なのでしょうか。
(2)MFCはこれからも使われるのでしょうか。
 (MFCで新規開発をすることは、まだまだ大勢なのでしょうか。)
(3)VC++2005以降、MFCは有償らしいのですが、
 VC++6.0(MFC)とVC++2005(MFC)は何か変わったのでしょうか。
 (コーディングしやすくなっていますか?)
(4)個人差はあると思いますが、開発スピードが一番早いのは、
 CLR、C#、MFCのどれでしょうか。
 
すぐに返信ができないと思いますが、
宜しければ、ご回答頂けると幸いです。

いつも大変お世話になっています。
VC++初心者です。

VC++6.0(MFC)、VC++2005(CLR)(C++/CLI)(Express Edition)を
同時期に使い始めて何ヶ月か経ちました。
現在では、CLIの方が圧倒的に開発スピードが早く(扱いやすい)、
逆に、MFCの開発スピードが遅く(扱いにくい)、イライラしっぱなしです。
(CLIの開発では、WEBにあるC#のコードを参考にしながら、
 コーディングしています。)

そこで、何点か疑問に思ったので、ご回答頂けませんでしょうか。
(1)CLIとC#を区別した理由は何なのでしょうか...続きを読む

Aベストアンサー

私も私見ですが。

> (1)CLIとC#を区別した理由は何なのでしょうか。
CLIはC++的だが、C#はJava系の文法。近いけど遠い。
要するに慣れ親しんだC++を使いたい人向け。

> (2)MFCはこれからも使われるのでしょうか。
市販ソフトメーカーなど企業で資産のあるところは使っていくでしょうね。シェア・フリーソフトの作家でもそうですが。
C#とCLIは、インストール時に.net frameworkのインストールがあるから嫌われている所があるんじゃないでしょうか。.net系のソフトですよってばれますし。逆コンパイルがネイティブより容易ってのがライセンス認証しているメーカーとかシェアウェア作者さんには気になるポイントでしょう。一応難読化ツールもありますが。

> (4)個人差はあると思いますが、開発スピードが一番早いのは、
> C++/CLI、C#、C++とMFCのどれでしょうか。
C#かなぁ。
まぁ、面倒なソフトになったらどれでもさほど変わり無い気がしますね。ただ、.NET系はガベージコレクションがうれしいですが。

私も私見ですが。

> (1)CLIとC#を区別した理由は何なのでしょうか。
CLIはC++的だが、C#はJava系の文法。近いけど遠い。
要するに慣れ親しんだC++を使いたい人向け。

> (2)MFCはこれからも使われるのでしょうか。
市販ソフトメーカーなど企業で資産のあるところは使っていくでしょうね。シェア・フリーソフトの作家でもそうですが。
C#とCLIは、インストール時に.net frameworkのインストールがあるから嫌われている所があるんじゃないでしょうか。.net系のソフトですよってばれますし。逆コンパイルが...続きを読む

QPCで無料でエロ動画とるのって違法なんですか?

無料でエロ動画ダウンロードするのって違法なんですか?罰則はあるんですか?
あとパソコンで無料のエロ動画をダウンロードした事ないんですが、携帯で無料のエロ動画をダウンロードするのと同じようなやり方なんですか?

Aベストアンサー

追記
知り合いの経験者の方から過去に注意を受けていたので、
書き込みしています。

その方のお話ですが…ト或る会員制サイトに登録して、
観覧していたそうで(幾つかDL)落とした物の中に違法な
映像が含まれていたそうです。

で、或る監督さんが捕まり起訴されてその方の撮られた
映像が幼児関連だったそうです。

芋づる式に会員が挙げられ…知り合いの方の所にも警察が?
PC に保存していた映像にそれが…その方は、全く気ずいて
なかったそうですが…編集ミスで、映像の最後に含まれて居
た…映ってますね?と言われて逮捕されたそうです。
幼児を縛って、排泄させてる映像が…かれは、実刑で服役さ
れて…現在は、出所していますが…

QMFCとC++/CLIとの比較

MFCを使ってプログラミングを今までやっていましたが、C++/CLIへ移行しようと思っています。
ただ、MFCとC++/CLIではプログラミングの自由度に差はあるでしょうか?

ここでの自由度とは、思い通りの処理・機能を実現し易いかことです。
処理・機能に関しては具体的にはまだ決まってないので、一般的な話で構いません。


あと、主観で構わないのでMFCとC++/CLIとどちらが好みかも教えてもらえると幸いです。理由も聞かせてもらえるとベストです。
よろしくお願い致します。

Aベストアンサー

自由度という部分だけをとれば、CLIで行き詰っても、ネイティブコードを呼び出せばいいだけですから、差はありません。
問題なのは、あまりにもネイテイブコードを呼び出す必要が多すぎて、うんざりすることです。
ネイテイブコードを呼び出した場合は、MFCが使えないので、APIということになり、「ありゃ、パラメータは何だったっけ」ということになります。

多くの人が指摘することですが、CLIをやるなら、VBかC#で、許される許容度の中で工夫して、コーディングしたほうがいいと思います。
よくよくのことがないかぎり、それでニーズは満たせます。

C++に関するサイトはたくさんありますが、CLIに好意的な意見はほとんどありません。
SDKやMFCをやっていると、CLIって、「かゆい所に手が届く」感じで、なんだか幼稚に見えるんですよ。
そんなこともないんですけれどね。
もし、すでにC++/CLIに触っていたら、なんとなくニュアンスは分かると思います。

ただ、CLIがどうかということは別として、MFCの将来は、あまり明るくないかもしれません。

自由度という部分だけをとれば、CLIで行き詰っても、ネイティブコードを呼び出せばいいだけですから、差はありません。
問題なのは、あまりにもネイテイブコードを呼び出す必要が多すぎて、うんざりすることです。
ネイテイブコードを呼び出した場合は、MFCが使えないので、APIということになり、「ありゃ、パラメータは何だったっけ」ということになります。

多くの人が指摘することですが、CLIをやるなら、VBかC#で、許される許容度の中で工夫して、コーディングしたほうがいいと思います...続きを読む

Q無料動画ソフトで、初心者でも簡単でき無料編集ソフトを教えてください

無料動画ソフトで、初心者でも簡単でき無料編集ソフトを教えてください

パソコン初心者です。
ライブチャット用のカメラで録画したのですが、知り合いに動画を送りたいと思ってます
10人くらい

ネットに無断転載とかされると不安なので、ロゴなどをいれたいのですが
映像の最初から最後まで、文字を入れたいのですが
無料動画ソフトで初心者でも簡単にできる動画編集ソフトがあれば教えてください

動画に関しては、全くの初心者です
よろしくおねがい致します

Aベストアンサー

無料で手軽さなら最初から入っているWindowsムービーメーカーが良いかも知れません
導入したりする手間も不要ですし

http://d.hatena.ne.jp/dangerous1192/20070722/p1

WindowsムービーメーカーとはMicrosoftが作った初心者向けの動画編集ソフトですから

QVC++ MFC エラーコード C2248 private メンバ (クラス 'CObject'で…

VC++ MFC エラーコード C2248


現在、ダイアログAにあるコンボボックス(IDC_COMBO1)に単語を登録、削除する処理をしています。

ダイアログAには他に[登録]ボタン(IDC_BUTTON1)と[削除]ボタン(IDC_BUTTON2)があります。

IDC_COMBO1 を CComboBox m_combo;

として

// [登録]ボタン押下時
void CADlg::OnBnClickedButton1()
{
CString Txt, old;
int ret = 0, count = 0, i;

m_combo.GetWindowText(Txt);

if ( strcmp(Txt, "") == 0 ) {
AfxMessageBox( _T("語句を入力してください"));
return;
}
// コンボボックスのリスト数取得
count = m_combo.GetCount();

for(i = 0; i < count; i++){
// IDC_COMBO1に登録済みの語句を順番に調べていく
m_combo.GetLBText(i, old);

// 既に登録済みの名前があった場合
if (oldFile == Txt){
ret = MessageBox( _T("上書きしますか?"), _T("語句登録"), MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 );
}
}

if ( ret == IDYES ) {
return;

} else if ( ret == IDNO ) {
// 後ほど説明します
CBDlg dlg;
dlg.DoModal();
m_combo1.AddString(NewName);// extern CString NewName;←グローバル変数(Bダイアログから)
return;
}

// 登録されていない語句の場合
m_combo.AddString(Txt);
}

上記の登録の方、エラーなくコンパイルがとおり、コンボボックスにもちゃんと格納されています。

削除の方もエラーなくちゃんとコンボボックスから削除されます。


次に
>else if ( ret == IDNO )
の部分なのですが

[いいえ]ボタン(IDNO)が押された場合にはダイアログBが表示されます。

ダイアログBには語句を入力するエディットボックスIDC_EDIT1、[登録]ボタン(IDC_TOUROKU)、[取り消し]ボタン(IDC_TORIKESI)があります。

IDC_EDIT1 を CEdit m_ed1;

として

ここのBダイアログでもAダイアログ中のコンボボックスに格納されている語句が入力された場合はメッセージボックスを表示したいのです。


そこで


void CBDlg::OnBnClickedTouroku()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します。
int rup, cnt, ret;
CString oldf;
CADlg cad;

CComboBox cfdn = cad.m_combo;

m_ed1.GetWindowText(NewName);// CString NewName;←グローバル変数

// Aダイアログ中のコンボボックスリスト数の取得
cnt = cfdn.GetCount();

for(rup = 0; rup < cnt; rup++){

// Aダイアログのコンボボックス中に登録されている語句取得
cfdn.GetLBText(rup, oldf);

if (oldf == NewName){
ret = MessageBox( _T("本当に上書きしてもいいですか?"), _T("環境設定"), MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 );
}
}

if(ret == IDOK){
OnOK();
}
else{
return;
}
}

としました。

ここでコンパイルすると

1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxwin.h(1820) : error C2248: 'CObject::CObject' : private メンバ (クラス 'CObject' で宣言されている) にアクセスできません。
1> c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(558) : 'CObject::CObject' の宣言を確認してください。
1> c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(529) : 'CObject' の宣言を確認してください。
1> コンパイラでのこの診断により関数 'CCmdTarget::CCmdTarget(const CCmdTarget &)' が生成されました。

のようにエラーがでます。

調べてみると

CComboBox cfdn = cad.m_combo;

が原因のようです。

ググってみたりしたのですが解消法がわからず質問させていただきました。

よろしくお願いします。

VC++ MFC エラーコード C2248


現在、ダイアログAにあるコンボボックス(IDC_COMBO1)に単語を登録、削除する処理をしています。

ダイアログAには他に[登録]ボタン(IDC_BUTTON1)と[削除]ボタン(IDC_BUTTON2)があります。

IDC_COMBO1 を CComboBox m_combo;

として

// [登録]ボタン押下時
void CADlg::OnBnClickedButton1()
{
CString Txt, old;
int ret = 0, count = 0, i;

m_combo.GetWindowText(Txt);

if ( strcmp(Txt, "") == 0 ) {
AfxMessageBox( _T("語句を入力してください"));
...続きを読む

Aベストアンサー

 こんにちは。補足頂きました。
 大変、すんません、CBDlgクラスのコンストラクタ内でCDialog(CBDlg::IDD, pADlg)を呼び出していませんでした。

CBDlgのソースファイルで、
/////////////////////////////////////////////////////////////////////////////
// CBDlg ダイアログ
CBDlg::CBDlg(CADlg* pADlg) : CDialog(CBDlg::IDD, pADlg), m_pADlg(pDlg)
{
//{{AFX_DATA_INIT(CBDlg)
// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
//}}AFX_DATA_INIT
}

 の様にして、DoModal()で動作しませんか。
 「Debug Libraly」のメッセージボックスが表示されるのは、此れが原因でした(当方の方でも確認)。

Q無料で見れるアダルト動画無料で見れるアダルト動画

無料で見れるアダルト動画
無料で見れるアダルト動画

Aベストアンサー

XVIDEO

QVisual C++を使用するには,C++の知識は必要?

Visual C++ を使用する必要が生じたのですが,C言語の知識しかなく,
VC++を使用するにあたり,新たにC++を勉強しなければならないか分かりません。
C++を勉強してから,VC++を勉強し始めるべきなのでしょうか?
また,もしC++の勉強をしなければならない場合,使用する参考書として「独習C++」を考えているのですが,この参考書で事足りるでしょうか?
回答よろしくお願いします。

Aベストアンサー

ANo.1の方に同感です。

私はMS-DOSでのC言語からVC++へジャンプしました。

VC++を理解するということは
 1.C++という言語
 2.windowsOS,API
 3.MFC
を理解するということです。

私のとっかかりの本は、3冊のシリーズで
 1.Windowsプログラミングについて
 2.C++について
 3.MFCについて(だった思う)
に分かれており、C言語の知識とwindowsのアプリを触った経験があれば順を追って素直に理解できるものでした。
#処分してしまったので正しい書籍名はわかりませんが、クリーム色のカバーでした。

ただ、これはあくまで入門書で、その後C++に関する本、MFCに関する本、WIN32APIに関する何冊か読まないと、やはり仕事はできません。


人気Q&Aランキング

おすすめ情報