問題タブ [libavcodec]
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.
encoding - libavcodec (FFMpeg) で Speex をエンコードしますか?
speexを有効にして libavcodecを正常にコンパイルしました。FFMPEG ドキュメントの例を変更して、サンプル オーディオを Speex にエンコードしました。ただし、結果ファイルは VLC Player (Speex デコーダーを搭載) では再生できません。
任意のヒント?
c++ - libavcodec を使用してオーディオをデコードし、libAO を使用して再生しますか?
次のコード スニペットを使用してオーディオ ファイルをデコードします (MP3、WAV、WMV でテスト済み)。
しかし、オーディオを再生すると、静的な音が鳴り、時々クラッシュします。ここで私が間違っていることについてのヒントはありますか?
c - RTPを介したH264ビデオ+Speexオーディオストリーミング?
私のアプリケーションでは、libavcodecを使用してH264ビデオとSpeexオーディオをエンコード/デコードし、libavformatを使用してMKVコンテナーに保存することに成功しました。
ここで、コンテナファイルを作成する代わりに、ローカルネットワークを介してオーディオとビデオをストリーミングしたいと思います。
私は、RTPがこれを行うための標準化された方法であることを見ました。
libavformatのソースコードによると、RTPでSpeexをサポートしていません。
LAN経由でH264/Speexをストリーミングすることに関する他の提案はありますか?
libavformat RTPでSpeexサポートを実装する前に何を読む必要がありますか?
c++ - ffmpeg(libavcodec)。avcodec_encode_video でのメモリ リーク
libavcodec を使用してビデオをトランスコードしようとしています。大きなビデオ ファイル (1 時間以上) をトランスコードすると、avcodec_encode_video で大量のメモリ リークが発生します。私はそれをデバッグしようとしましたが、さまざまなビデオファイルでさまざまな機能がリークを生成し、それについて少し混乱しました:)。ここで、QTメモリリークを伴うFFMPEGは私が抱えている問題と同じですが、その人がどのように解決したのかわかりません。QtFFmpegwrapper は、私と同じことをしているようです (または、何かを見逃していました)。
私の方法はもっと低いです。aFrame と aPacket は av_free と av_free_packet で外に出しました。
opengl - OpenGL フレームでレンダリングされたビデオを作成する
私はフレームの行からビデオを作成する方法を探しています。私は OpenGL でレンダリングし、glGetTexImage 関数を使用して int 配列として RAM に転送しました。これをRAMで直接達成することは可能ですか(〜10秒のビデオ)、または各フレームをハードディスクに保存してからビデオをエンコードする必要がありますか?
このサンプルhttp://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/api-example_8c-source.htmlを別のSOの質問で見つけましたが、これはまだ最善の方法ですか?
c - AVCodec PTS タイムスタンプが 0 から始まらない
一部のビデオ ファイルでは、AVPacket 構造内で返される PTS タイムスタンプが 0 から開始されず、少し遅れていることに気付きました。たとえば、3.128 か何かで。私がテストしたビデオ ファイルの 99% には、0 から始まる PTS タイムスタンプがありますが、3.128 または 1.2 などで始まる奇妙なタイムスタンプを持つファイルはほとんどありません。これらのケースをどのように処理すればよいですか?最初のパケットの PTS タイムスタンプを記録し、その後のすべてのタイムスタンプ値からこの PTS を減算して、0 ベースの PTS 値を取得する必要がありますか? または、これらの非 0 ベースのタイムスタンプをどうすればよいですか? ご協力いただきありがとうございます!
c - libav: AVFrame を RGB24 サンプル データで埋めますか?
RGB24 形式で初期化された AVFrame のサンプル データを埋めようとしています。次のコード スニペットを使用して、RGB データを入力します。しかし、エンコードされたビデオでは、ビデオ フレームの 1/3 しかカバーしていないグレースケール ストリップしか見えません。このコード スニペットは、赤色のみを塗りつぶすことを想定しています。ここで間違っているヒントはありますか?
h.264 - ffmpegを使用してH.264でエンコードされたデータをファイルに保存する
フレームグラバーからのH264データがあります。このデータを使用して、RTP/H264 ストリーミング サーバー (live555 を使用) と RTP/H264 クライアント (ffmpeg と live555 を使用) を既に作成しています。
サーバーに新しい機能を追加したい : エンコードされた H264 データを任意の形式 (avi、mp4、mkv など) で (トランスコードせずに) ファイルに直接保存し、後で VLC を使用してビデオを視聴できるようにします。
表示クライアントについては、基本的に、次のことを実行しました。
1) ffmpeg/av_new_packet() を使用して H264 データからパケットを構築します
2) H264 データのデコード ffmpeg/avcodec_decode_video2()
3) ffmpeg/sws_scale() を使用してデコードされたフレームをフォーマットする
4) ディスプレイ
データをデコード/トランスコードせずに ffmpeg を使用せずに、動画ファイルの保存機能についてすぐに教えてもらえますか? で十分です
1) 出力コンテキスト (形式) を選択します
2) ffmpeg/av_new_packet() を使用して H264 データからパケットを構築します
3) ffmpeg/av_(interleaved)_write_frame() (および av_write_trailer() と av_write_header()) を使用してパケットを保存しますか?
?
みんなありがとう
ffmpeg - Mpeg ストリームへのユーザー データの挿入
MPEG ストリームにユーザー データ (開始コード = 0X1B2) を挿入する方法はありますか? 私が探しているのは、単純なツール、スクリプト、または Hex Editor を使用するいくつかのヒントです...
または、それを可能にする ffmpeg (libavcodec および libavformat) のパッチがあるかもしれません。
c++ - ffmpegを使用して.MP4にエンコードする際の問題
ですから、私はこれに少し慣れていません。ビデオを.AVIに記録するWIN32アプリを作成していて、ffmpegを使用して.MP4にエンコードすることを計画しました。私が見つけたサンプルに基づいて、私はここまで到達しました。コンパイルしてファイルをエンコードして書き込んだと表示されますが、出力ファイルを開いて再生することはできません。元のサンプルが使用していたようにMPEG1エンコーディングを使用してみましたが、数秒間だけ奇妙な色が表示されます。
ファイルで実行する必要がある何かが不足していますか?
エンコーディング/ffmpegの経験、いくつかのポインタ、アドバイス、またはヘルプを持っている人は、私を最も感謝しています。前もって感謝します!