問題タブ [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.
c++ - SDL ビデオ オーバーレイが SDL_Flip でちらつく
C++ で SDL と libav を使用して、Linux の画面にビデオを描画します。ビデオを開くための私のコードのほとんどはこのチュートリアルに基づいていますが、廃止されたいくつかの関数を変更しました。SDL を次のように初期化します。
コードは非常に大きいため、コード全体を掲載するつもりはありませんが、ビデオ オーバーレイを表示する方法を以下に示します。formatCtx
一部の変数は、やなど、私の Video クラスのクラスメンバーであることに注意してくださいpacket
。
そして、私のメインループで:
これは機能し、ビデオは再生されますが、ちらつきが多くなります。フレームごとに同じ場所に画像を描画しようとするようなものです。ビデオへの呼び出しを削除すると、SDL_Flip(screen)
正常に再生されます。速すぎて、まだビデオ タイムアウトを処理していませんが、一時的なものを追加すると、SDL_Delay(10)
かなり良さそうです。しかしSDL_Flip
、ビデオを表示するために削除すると、画面に何も描画できなくなります。両方ともSDL_BlitSurface
、SDL_FillRect
画面に何も描画できません。すでにフラグを追加しようとしましSDL_DOUBLEBUF
たが、状況は変わりませんでした。
必要に応じてさらにコードを提供できますが、問題は投稿したコードのどこかにあると思いますSDL_Flip
.
私は何を間違っていますか?
ffmpeg - avconv で S ビデオを録画できない
avconv を使用して、S ビデオ ケーブルからのフィードを記録しようとしています。avconv でコンポジット ビデオを録画できますが、品質は最高ではありません。入力を設定するには、 を使用しますv4l2-ctl -i $n
。ここで、$n
はコンポジットの場合は 0、S ビデオの場合は 1 です。入力を設定するために使用しようとしましv4l2-ctl -i 1
たが、うまくいきません。奇妙なことに、tvtime または qv4l2 を使用すると、ビデオを表示できます。
ビデオではなく、オーディオを録音できます。tvtime では、ビデオだけでなくオーディオも取得できます。また、-channel
オプションを使用してffmpegでSビデオを記録することもできました。ffmpeg、ところで、オーディオを録音できません。別のオーディオを録音することはできません。
編集: Anton の要求に従って、avconv でビデオをキャプチャするために使用するコマンドを次に示します。
このコマンドの出力は次のとおりです。
android - Mac での Libavcodec.so と libavformat.so の簡易ビルド
誰がffmpegを必要としていますか? 私じゃない。私が必要としているのは、オーディオ ストリームと一緒にビデオ ストリームをデコードできるようにすることです。これにより、opengl サーフェスにフレームをオーディオと同期させることができます。
FFmpeg は、ビデオをトランスコードするツールです。それは私が必要とするものではありません。そのライブラリが必要です。
問題は、FFmpeg をビルドするためのすべての例に、必要のないジャンクが含まれていることです。私が時間を無駄にした最新の例:
https://github.com/appunite/AndroidFFmpeg
本当に必要のない freetype2 のようなものを使用します。さらに厄介なことは、例が freetype2 ではなく freetype を参照しているため、ビルド手順が壊れているため、説明どおりにビルドすることさえできないことです。私が libtool で抱えていた問題に取り掛からないでください。
キッカーはlibav.orgを見つけており、彼らは彼らのaboutページでffmpegプロジェクトの混乱について説明しています。おそらくそれがこれがとても難しい理由です。
では、共有ライブラリだけを構築するのはそれほど難しいのでしょうか? 誰かが私にいくつかのドキュメント、または機能するチュートリアルを教えてもらえますか? これが私にとって新しい領域であることは認めますが、Google を使用して見つけたのはカオスだけです。
c++ - Windowsでマイクを聞くことを有効にするか、ライブリプレイにlibavを使用します
マイクからの音を録音し、同時にライブで再生するシステムが必要です。Windows 7 Professional、C++ mingw、または msvc 2012/2010 オプションを使用しています。
マイクをつかんで音を再生/録音するためにlibavを使用しています。私の問題は、libav によるサウンド パッケージの長さが 0.499 秒であるため、私のサウンドが (ライブで (再) 再生する場合) 少なくとも 0.5 秒遅く再生されることです。これが本当のlibavの問題かどうかはわかりません。libavの期間またはパッケージサイズを短縮するものが見つからなかったためです。
だから今の私の考えは、libavを使って記録し、Windowsを使ってライブで(再)再生することでした。
このオプションを有効にすると、サウンドが (ほぼ) リアルタイムで再生されます。しかし今問題は、それが常に有効になっていることです。録音した音を再生すると、リアルタイムの音も聞こえます。したがって、このオプションを有効/無効にしたいと思います。
私はWindowsのプログラミングが得意ではなく、(私が行った短い検索で)Windowsでsouch(ディープシステム)オプションを有効/無効にする方法と、C ++を使用してそれが可能かどうかを見つけられませんでした。
どんなアドバイスも役に立ちます。
この質問が具体的なものであれば申し訳ありませんが、どこに質問すればよいか本当にわかりません。もしそうなら、質問を閉じてください。
c++ - avcodec_encode_video2 中のセグメンテーション違反
AVFrame をパケットにエンコードしようとしているときに問題が発生しました。
コード全体を読む前に、入力が機能していることをテストしました。出力内容は、こちらの例からのものです。問題があると思います。しかし、ループの終わり近くでセグメンテーション違反が発生します。
ここに私の削減されたコードがあります:
私は何を間違っていますか?
デバッグ中に、パラメーターに問題は見つかりませんでした。streamOut->codec
満たされています。pktOut
割り当てられ、frame
以前にエンコードされた画像で満たされます。問題は出力コーデックの作成中にあると思いますが、例を見てdoxypagesを見ると正しいようです。
トレース ルートは、msvc11 とフレームワーク 5 を使用した QT からのものです。
私も博士と一緒に走ろうとしました。メモリとこれを取得します:
memcpyがうまくいかないときの読み込み処理のようです。
バージョン:
私が使用している libav/ffmpeg のバージョンについて言及するのを忘れていました:
補遺:
関数はチュートリアル 1SafeFrame
からコピーされます。
c - ffmpeg で mp3 を pcm にデコードする方法
mp3 オーディオ データを pcm にデコードする必要があります。mp3 ヘッダーで始まるデータがあります。Api-example.c が機能しない、出力がおかしい:
コマンドffmpeg -i input.mp3 output.wav
は素晴らしいです、これは私が必要なものです。しかし、コードでそれを行う方法を見つけることができません。ffmpegライブラリを使用したチュートリアルがどこにあるか、誰か知っていますか? ありがとう
編集 2.7.13:
こんにちは、ffmpeg からオーディオ デコードのサンプル メソッドを再構築しましたが、おそらくここに問題があります。
data_size は、デコーダーからのデータ フレームのサイズです。チャンネル数、データ サンプル数、およびデータ タイプによって異なります (私のデータは、mp3 フレームの 1152 サンプルに mp3 にエンコードされた 16 ビット PCM ステレオです)。
出力ファイルを audacity で開いた場合、正しい出力を与える正しいパラメーターは、ステレオ (正しい)、8 ビット pcm (間違っている)、およびハーフ サンプル レート (これも間違っている) ですが、何が起こったのでしょうか?
エンコード前データ:16bit PCM 44100Hz、ステレオ
デコード後のデータ: 8bit PCM 22050Hz, ステレオ ---> ???!!!
私はこれに疲れている....