質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

6282閲覧

C# AForge.Videoを使用してmjpg形式で動画を保存したいです。

mypace

総合スコア45

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2019/02/17 17:21

編集2019/02/18 00:14

VisualStudio 2017 C# (x86)にて
AForge.Video, Video.DirectShowなどをNuGetを使用してインストール(ver 2.2.5)、
USBカメラを使用して動画を撮影し、.mpgで保存したいです。

検索し調べているのですが、CodecをMJPGと設定しファイル拡張子.aviとして動画を保存している
サイトしかないです。
そこでお伺いしたいのですが、C#で.mpg で動画を保存する方法をお教えいただきたいです。
また、.aviで保存するしかないとしても現在codecをMJPGと設定すると例外が発生してしまいます。なぜcodecを設定すると例外が発生するのか?その解決法などアドバイスをいただきたく思います。

また、出力された例外文は
AForge.Video.VideoException: Failed creating compressed stream.
場所 AForge.Video.VFW.AVIWriter.Open(String fileName, Int32 width, Int32 Height)
場所 MainForm.RecButton_Click(Object sender, EventArgs e)
場所 プロジェクトファイル場所\Form1.cs
となります。
圧縮形式でAVIWriter.Openを行った際に例外が発生しているようです。

C#

1 //---- USBカメラ動画保存 ----// 2 AVIWriter usbVideoWriter = new AVIWriter(); 3 4 private void RecButton_Click(object sender, EventArgs e) 5 { 6 //撮影を開始する 7 videoSourcePlayer1.VideoSource.NewFrame += new NewFrameEventHandler(this.video_NewFrame); 8 //videoSourcePlayer1.VideoSource.Start(); 9 if (videoSourcePlayer1.VideoSource != null && !videoSourcePlayer1.VideoSource.IsRunning) 10 { 11 videoSourcePlayer1.Start(); 12 } 13 14 try 15 { 16 usbVideoWriter.FrameRate = 30; 17 usbVideoWriter.Codec = "MJPG"; 18 usbVideoWriter.Open(fileName: "USBVedeo.avi", width: 640, height: 480); 19 } 20 catch (Exception ex) 21 { 22 MessageBox.Show(ex.ToString(), "VideoWriterErr", MessageBoxButtons.OK, MessageBoxIcon.Error); 23 } 24 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wwbQzhMkhhgEmhU

2019/02/17 21:20

使ったこともないのでよく知らず、回答はできませんが、Accord.Video.FFMPEG*というのがあるっぽいですよ。情報まで。
Zuishin

2019/02/17 23:44

コーデックがインストールされていないのでは? それ以前になぜ例外を握りつぶすんでしょうか? ex.Message を表示して読んでみてください。
guest

回答1

0

ベストアンサー

こちらに書きましょうか。コーデックがインストールされていないのでは?

投稿2019/02/18 00:55

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問