• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【opencv】携帯動画の使用について)

【OpenCV】携帯動画の使用について

このQ&Aのポイント
  • OpenCVで使えるaviファイルの種類とは?
  • 携帯の動画をOpencvで使う方法を教えてください。
  • ffmpegを使用して携帯の動画をOpencvで使えるように変換する方法。

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

  • ベストアンサー
  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.9

「MediaCoderというソフトを使って変換し」てうまくいったなら、 それをまねてみてはどうですか?そのアプリは内部で ffmpeg を使って 変換しているのでないんですかね?コマンド処理らしいのが、 MediaCoder のウィンドウの下の方に出てるじゃないですか^^ MediaCoder のインストールフォルダの下の codecs ってフォルダに コマンドライン用のプログラムがあるようですけど? オプションのつけ方とかまねれば、system() にそれらの文字列を 渡して実行してやればうまくいきませんかね?^^

suffix
質問者

お礼

codecsというフォルダをプログラムと同じフォルダにコピーし、MediaCoderのコマンド処理を真似たところ、avi変換・opencvでの 読み込み共にうまく実行することができました!! ご助言ありがとうございます。

その他の回答 (10)

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.11

あっ、すでにうまくいったのですね^^ よかったです。では^^

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.10

MediaCorder0.6.0 っていうのをインストールしてみました。 「変換」の「コンソールウィンドウ表示切替」を選択して、 コンソールウィンドウを出して、変換実行すれば、内部の処理が見れるようですよ。それをまねればできるんじゃないですか? コマンドラインのプログラムを動かしているようですし。ffmpeg のほかの プログラムも使っていれば、MediaCorder のインストールフォルダに あるやつを呼んでしまえばいいのでは?^^;

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.8

http://darusuna.sakura.ne.jp/archives/6/mpeg4itune/mpeg4.html というのもありました。ここでも AU は Debian ではどうのこうの言ってますね。他のLinuxOSやWindowsでもダメだとは書いてないですが。。

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.7

「AU は普通の3gp形式ではないので他社携帯とは違います。」とかありましたね。 http://q.hatena.ne.jp/1181637587 上のURLからリンクされてる、以下のURLに、 なんとか変換したとか書いてるHPがありましたよ。 http://www.deftrash.com/blog/archives/2005/05/linux.html

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.6

-ar オプションでレートを変えればうまくいくかもどうこう書いてますね^^ -ar 44100 -ar 22050 -ar 11025 とか試してみればいかがでしょう?^^

suffix
質問者

お礼

迅速なご対応ありがとうございます。 おっしゃるとおりにしたところ、ffmpegでのエラー?は消えました。 ただ、ffmpegで変換したaviファイルはopencvが読み込んでくれません。 また、試しにMediaCoderというソフトを使って変換した所、opencv読込みがうまくいきました。ただ、できればプログラム上から呼び出したいので、ffmpeg等でうまくいくようにしたいです(もっとも私に動画拡張子変換プログラムをすんなり書く実力があれば別ですが(泣)) 理由を調べるため、真空波動研Liteというソフトを使ってaviファイルの種類を調べてみました。 ○:opencvで読み込めたケース ×:opencvで読み込めないケース ○[MediaCoderでの携帯動画を変換(形式XviD)] 176x144 12Bit XviD 1.1.2 Final 25.00fps 286f 168.83kb/s INFOTAG [RIFF(AVI1.0)] 00:00:11.439 (11.439sec) / 250,112Bytes ×[ffmpegで変換したaviファイル] 176x144 24Bit Motion JPEG(MJPG) 15.00fps 172f 274.25kb/s MPEG2.5-LayerIII 11.03kHz 64.00kb/s CBR Mono [RIFF(AVI1.0)] 00:00:11.466 (11.466sec) / 500,008Bytes ×[QTConverterで変換したaviファイル] 176x144 16Bit 無圧縮 15.00fps 173f 6084.09kb/s PCM 22.05kHz 16Bit 1ch 352.80kb/s [RIFF(AVI1.0)] 00:00:11.533 (11.533sec) / 9,285,618Bytes ×[MediaCoderで変換したaviファイル(形式Motion JPEG)] 176x144 24Bit Motion JPEG(MJPG) 25.00fps 286f 518.00kb/s INFOTAG [RIFF(AVI1.0)] 00:00:11.439 (11.439sec) / 749,424Bytes ×[その他のaviファイル(一例)] 720x480 24Bit DV Codec(DVSD) / DV Codec(DVSD) 29.97fps 791f 28857.73kb/s [RIFF(AVI2.0)] 00:00:26.393 (26.393sec) / 95,250,944Bytes という結果になりました。 XVid形式で変換を行ったものがうまくいっているような気もしますが、 なんとも言えません。XVid形式の変換をサポートし、且つコマンドラインインターフェイスがあるものってないでしょうか?

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.5

英語のHPですが、 http://www.maysville-linux-users-group.org/ftopic-172-0-days0-orderasc-.html そのエラーメッセージはメジャーじゃない云々のあとに、 Hz の変換すればいいとか書いてました。 参考になりますか?

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.4

ffmpeg が使用するバッファ領域が小さい(あるいは変換しようとしている もとの 3gp ファイルが大きい)のが原因かもしれないってことですか^^ インストール時とかに、バッファサイズの指定のオプションなどあったんですか?

suffix
質問者

補足

ffmpeg.exeは元々「携帯動画変換君」というフリーソフトをダウンロードした際に一緒についてきたので、そこから持ってきました。 ですので、バッファサイズの指定のオプションなどに関してはよく分かりません。 元の3gpファイルが大きいということは無いと思います。 今回試したのはせいぜい100KB程度の物ですし・・・

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.3

拡張子を .3gp じゃなく、.3g2 に変更するとうまくいくとかありませんか?

suffix
質問者

補足

ご返答ありがとうございます。 拡張子を.3g2にしてやってみましたが、これでもダメなようです。 ffmpegで変換しようとした際に、 lame:output buffer too smallというのが出るのが気になるんですが、 これはまったく関係ないですかね? 初心者なもので的外れな質問なかもしれませんが・・・(汗

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.2

その失敗したという 3gp のファイルを、端末から、 コマンドラインで変換しようとしても失敗するのですか? 携帯は、ドコモ?それとも AU ですか?

suffix
質問者

補足

拡張子変換自体の失敗というよりは、 opencvを使ってファイルを読み込むときに、 そこに存在するはずのaviファイルが見つからないという 状況になっている感じです。 恐らく、aviファイルの圧縮方法とかの違いによってopencvが対応 していないとかではないかと勝手ながら推測しているのですが、 どうしてよいのかさっぱり分からず・・・ ちなみに携帯はAUです。

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.1

変換に失敗したファイルと変換に成功したファイルは同じ携帯から 取り込んだものですか? QTConverter なんかではどうなんでしょう? でも、プログラム内から呼び出したいということなら、 少なくともコマンドラインインターフェイスがないとダメですかね^^

suffix
質問者

補足

すいません、説明不足でした。 別のaviファイルというのは、携帯から変換したものではなく、 ネット上で見つけた普通のaviファイル(320x240 12Bit XviD 1.1.2 Final 25.00fps 6523f 794.74kb/s MPEG2-LayerIII)です。 >QTConverterなんかではどうなんでしょう? >でも、プログラム内から呼び出したいということなら、 >少なくともコマンドラインインターフェイスがないとダメですかね^^ QTConverterでの変換を試みましたが、読み込みに失敗してしまいました。できればプログラム内で呼び出したいので、コマンドラインインターフェイスがあるものの方がありがたいです。

関連するQ&A