問題タブ [libav]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - libav* 正しくないデコード
libav を使用して、ビデオからフレームを保存します。
問題は、decode 関数を数回呼び出すと、2 回目以降は正しく処理されないことです。
初めてそのような結論(すべて正常に動作します):
2番目(ストリームが見つかりませんが、これらは同じです):
エラーが発生した場所を教えてください。
main.cpp
ビデオ.cpp
ffmpeg -バージョン
c - ffmpeg を使用した TCP ストリームのデコード
私が書いている Android アプリケーションで Ffmpeg ライブラリを使用しています。ローカル ファイルを開き、avformat_open_input() を使用してデコードするコードを作成しました。ただし、TCP 経由でビデオ ストリームを読み込むには Ffmpeg を使用する必要があります。libavcodec/tcp.h などの Ffmpeg 内でいくつかのものを見つけましたが、実際に TCP ストリームをデコーダーに開く方法を確立できません。
任意の提案をいただければ幸いです。
c++ - libavでPixelFormatを使用してピクセルビット数を取得する方法
タイプPixelFormatのcodecContext.pix_fmtからピクセルのビット数を取得する方法はありますか?私はスイッチを使用して手動でそれを行います:
ただし、これには、libavが一部のピクセル形式を追加または削除するたびに手動で更新する必要があります。または、以前はサポートされていなかったピクセル形式を追加する必要がある場合。
PS DirectShowフィルターのCMediaTypeを埋めるために必要なので、bits_per_raw_sampleは、私が知っているように内部libavで使用するためのものであるため、適切ではありません。
c++ - Libavを使用してWindowsでカメラデバイスをキャプチャする方法は?
Libavを使用してWindowsプラットフォームでDirectShowが行うのと同じ数のカメラタイプからフレームをキャプチャする方法はありますか?DirectShowフィルターを使用せずにカメラ出力をキャプチャする必要があり、アプリケーションを多くの種類のカメラデバイスで動作させたいです。
libavのこの機能についてインターネットで検索したところ、特別な入力形式「vfwcap」を使用してlibav経由で実行できることがわかりました。そのようなもの(コードの正確さについてはわかりません-私は自分で書いた):
つまり、もう1つの質問は、Libavでサポートされているデバイスの数です。Windowsでlibavを使用して出力されたカメラのキャプチャについて私が見つけたのは、libavがサポートするデバイスが少なすぎるため、この目的でDirectShowを使用することをお勧めすることだけです。おそらく状況はすでに変化しており、本番アプリケーションで使用するのに十分なデバイスをサポートしていますか?
これが不可能な場合..まあ、私の質問が役に立たないことを願っています。これは、さまざまなソースのコードから構成されており、このテーマに興味のある人に役立つでしょう。
c++ - libav デコード フレームレートを変更するには?
libav デコードのフレームレートを変更する方法はありますか? フレームレートを取得するための libav 構造体にはいくつかの変数がありますが、私が知っているように、これらはすべて読み取り専用です (デコードモードで)。その中には次のものがあります。
前者の 2 つはフレーム数を示し、後者の 2 つはフレーム レートを示します。しかし、私はそれらを設定することはできないか、おそらく適切な効果をもたらさないようです。
助言がありますか?
c - libavformat のエラー メッセージをオフにするにはどうすればよいですか
デフォルトでは、libavformat は次stderr
のようなエラー メッセージを に書き込みます。
Estimating duration from bitrate, this may be inaccurate
どうすればオフにできますか?またはさらに良いことに、それを自分のきちんとしたログ機能にパイプしますか?
編集: stderr を別の場所にリダイレクトすることは、他のログ記録の目的で必要になるため受け入れられません。libavformat に書き込みを行わないようにしたいだけです。
installation - cinelerra: 共有ライブラリの読み込み中にエラーが発生しました: libavcodec.so.52 slackware
確かに、cinelerraをインストールしようとすると何日もかかり、他に何をすべきかわかりません。フォーラムを検索し、cinelerraのリストにメールを送信しましたが、まだ何も解決できません 事前に感謝します
cinelerra の使用に興味があります。slackware 13.37 を持っています。
それが正しくインストールされていると言います:
次のエラーが表示されます。
ffmpeg - avconv が停止している理由をデバッグするにはどうすればよいですか?
avconv を使用して .mov ファイルを .mpg ファイルに変換しています。私のphpアプリケーションで実行されているコマンドは次のとおりです。
avconv -y -i '$finalvideo' -target ntsc-dvd -aspect 4:3 '$mpgvideo' > $logs
小さな .mov ファイルを問題なく .mpg に変換できます。ただし、10 分または 15 分を超える動画は変換できません。ログ ファイルは完全に空です。コマンドを直接実行すると、どのビデオを選択しても、フレームは 34000 付近で停止します。
CPU はこのプロセスで 97% の使用率を示していますが、何も起こっていません。
OS Ubuntu 10~
この失速したプロセスに関する詳細情報を収集するにはどうすればよいですか?
これが凍結された出力です
ああ面白い。-loglevel debug -debug を使用しました。こんな情報を見ていました
やっとこのメッセージを受け取るまで
libav http://bugzilla.libav.org/show_bug.cgi?id=67でバグを投稿しました
ご協力いただきありがとうございます。
android - Android用Libavビルド
Android用のLibavのコンパイルに成功した人はいますか? 現在資料を探しています。
ありがとう!
c - RGB イメージ配列を sws_scale から DIB (メモリ ビットマップ内) に変換する方法
ストリームからビデオ フレームをデコードしています。sws_scale は、デコードされた RGB 画像データ (PIX_FMT_RGB24) のバッファーを提供します。入力を DIB にする必要がある既存のフロントエンド アプリケーションがあります。このバッファをDIBに変換する方法を知る必要がありますか?
私が理解していることから、WindowsのDIBはBGRであり、下から上にあり、ヘッダーが必要です。手動で行うのではなく、この問題がすでに解決されていることを願っています。また、sws_scale がネイティブにできるのではないかと考えています。