12-04-2015 02:49 AM
こんにちわ。
NI-IMAQdxでカメラから動画を取り込み、
AVIファイルに保存しているのですが、
サイズが非常に大きく困っております。
いろいろ調べてみたところ、
コーデックを指定すればよいということがわかったので、
「IMAQ AVI2 Codec Names」という関数を使って
コーデックの一覧を取得してみるとmpeg4がありませんでした。
そこで質問なのですが、
①mepg4は指定できないのでしょうか?
②Windows Media Playerのヘルプにあるビデオコーデックの内容と
「IMAQ AVI2 Codec Names」で取得した一覧は内容が違うのですが、
パソコンに入っているコーデックを表示しているわけではないのでしょうか?
*Windows Media Playerのヘルプを見ると、
ビデオ コーデックの欄にはmpeg4はありましたので
パソコンにはコーデックが入っている気がします。
コーデック関連の知識があまりなく、
説明がおかしいかもしれませんが、
ご教授お願いします。
解決済! 解決策の投稿を見る。
12-04-2015 03:27 AM
追記です。
開発環境:
・Win7 64bit
・LabVIEW 2015
・Vision Acquisition Software
12-07-2015 08:09 PM
MPEG4はファイルフォーマットであり、コーデックではないのではないでしょうか?
12-07-2015 08:27 PM
ご連絡ありがとうございます。
知識不足であり申し訳ないのですが、
あるAVIファイルを見たときにビデオフォーマットがMPEG-4 Visualとなっていて、
MPEG4というコーデックでAVIファイルが作成できると思っていました。
AVIファイルはどうしたら容量を小さくできるのでしょうか?
IMAQ AVI2 Get Codec Names関数から取得できるコーデックを使うしかないのでしょうか?
12-08-2015 12:33 AM
こんにちは。
このフォーラムはLabVIEW関連のユーザーが集まる場所なので、コーデックの詳細について聞いてもあまり返事がこないかもしれません。
そしてコーデックの関数についてすでにご存知なので、下記のリンクの存在についてもご存知かとおもいますが、
LabVIEW 上で使用できるコーデックのパフォーマンスも比較できるので参考になれば幸いです。
Writing a Compressed AVI File with the IMAQ Vision Acquisition Software
http://digital.ni.com/public.nsf/allkb/0A4D5BF47FD3FF0186256E9A004FD671
わたしも以前、ファイルサイズの問題で苦労しましたが、LabVIEWのみで処理を行おうとすると色々と手間がかかったので、
動画のフレームレートをさげる、解像度をさげるといった方法で現実逃避してました。
ちなみにファイルサイズはどのくらいになっているのでしょうか。
12-08-2015 01:25 AM
ご連絡ありがとうございます。
1分ぐらいのAVIファイルで15MBぐらいです。
コーデック情報はWMV3となっています。
コーデックは「Microsoft Windows Media Video 9」を選択しました。
他のを選択するともっとサイズが大きくなります。
320x240 RGB32ビットの動画です。フレームレートは30ですね。
かなり大きいような気がするのですが。。。
12-08-2015 01:51 AM
私もあまりコーデックに詳しくないですが、利用できるコーデックが関数で取得できているので、そのコーデックを片っ端から試してみると言うのは如何でしょう。
ちなみに、ファイルサイズが大きいのはなぜ問題となるのでしょうか?録画後にフリーソフト類で圧縮してしまう、というのでは問題なのでしょうか。工夫次第で自動化できると思いますが・・・。
ちなみに320*240*4byte(32-bit)*30fps*60s≒527MBとなり、15MBであればそれなりに圧縮されているのではないかと思います。
12-09-2015 04:58 AM
ご返信ありがとうございます。
片っ端から試し結果、1分当たり15MBぐらいになりました。
おっしゃるとおり保存後に圧縮してしまえばよいのですが、
ユーザーの希望がありまして。。。
とりあえず保存後の圧縮自動化を検討したいと思います。
いろいろありがとうございました。