問題タブ [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.
list - libav* 形式の完全なリストはどこで入手できますか?
libav* 形式の完全なリストはどこで入手できますか?
c - libavcodec / x264でh.264をエンコードする方法は?
libavcodec/libavformatを使用してビデオをエンコードしようとしています。オーディオはうまく機能しますが、ビデオをエンコードしようとすると、次のエラーが発生します。
コマンドラインffmpegを使用して簡単に修正できますが、Cでこれを実行しようとしています。私のオプションは次のとおりです。
しかし、avcodec_open()は失敗します。
x264を満足させるには、他にどのような値を設定する必要がありますか?
iphone - CMSampleBuffer / UIImageをffmpegのAVPictureに変換する方法は?
ffmpegのlibav*ライブラリを使用してiPhoneのカメラフレームをH.264ビデオにエンコードしようとしています。この Appleの記事で、CMSampleBufferをUIImageに変換する方法を見つけましたが、ffmpegのAVPictureに変換するにはどうすればよいですか?
ありがとう。
iphone - iPhone SDK4.3libavコンパイルの問題
私は奇妙な問題に直面しました。iPhone SDK4.3とxCode4をインストールしましたが、ARMv6アーキテクチャ用にffmpegからlibavをコンパイルできません。これはそれをコンパイルするための私のスクリプトです(iPhone SDK 4.2では正常に動作します):
その結果、ライブラリファイルを取得しますが、lipo -infoコマンドで確認すると、ライブラリがi386アーキテクチャ用にコンパイルされていることがわかります。
多分誰かがそのような問題に直面しましたか?お願い助けて。
ありがとう。
ffmpeg - i586-mingw32msvc-pkg-configはどこにあるべきですか?
ubuntuでlibavを設定すると、次のような警告が表示されます
警告:i586-mingw32msvc-pkg-configが見つかりません。ライブラリの検出に失敗する可能性があります。
これが私の設定コードです。
./configure --target-os = mingw32 --cross-prefix = i586-mingw32msvc- --arch = x86 --prefix = / usr / local / win32 --enable-memalign-hack --disable-gpl --disable -avisynth --disable-postproc --enable-runtime-cpudetect --disable-encoders --disable-muxers --disable-network --disable-devices --enable-shared
ffmpeg - libx264なしでlibavformatを介してh264ストリームをmp4(aac)に多重化できますか?
h.264 でエンコードされたビデオ ストリームがあり、mp4 ファイルを作成したい。
/* mp4 の出力形式を見つける */
m_pOutputFormat= av_guess_format("mp4", NULL, NULL);
if (!m_pOutputFormat) は FALSE を返します。// 適切な出力形式 (mp4) が見つかりませんでした。
このコードでは、h264ではなくビデオコーデックのmpegを取得します。これは、libx264なしでffmpegをビルドしたためだと思います。(そして、ライセンスのためにlibx264でffmpegを構築したくありません)
m_pOutputFormat->video_codec= CODEC_ID_H264;
video_codec を CODEC_ID_H264 に変更すると、一部のプレーヤー (kmplayer) で正常に動作します。ただし、iPod、QuickTime では動作しません。
codec_tag の値を変更できなかったため、このコードは間違っている可能性があります (この変数には const プロパティがあります)。
1. libav+libx264 を再コンパイルせずに av_guess_format("mp4",NULL,NULL) の他の結果を取得するにはどうすればよいですか?
2. mp4 ファイルを適切に作成するにはどうすればよいですか?
c++ - 英語以外のファイル名でavio_open関数を呼び出すことは無効です
libav を使用して Unicode ベースのプログラムを作成しており、libav を介して「中.mp4」というファイル名のファイルを作成したいと考えています。
このファイル名は英語ではありません。呼び出すと、関数は正の整数を返します(失敗しません)。
ただし、「中.mp4」の代わりに「ѱ۰.mp4」があります。(無効なファイル名です。)
どうしたの?
xcode4 - libav*ライブラリを使用してxcode4でビルド中に、不正なテキストがnon_lazy_ptrエラーに再配置されました
xcode4でffmpegのlibav*ライブラリを使用する単純なアプリケーションを構築しようとしていますが、次のエラーが発生します。
ld:アーキテクチャi386の_ff_ac3_bit_alloc_calc_psdの/ffmpeg/temp/ffmpeg-0.8/builduni/lib/libavcodec.a(ac3.o)からnon_lazy_ptrへの不正なテキストの再配置
この問題を修正するためにranlib-clibavcodec.aを実行しようとしましたが、何も起こりませんでした。もう1つ、私のlibav *ライブラリはファットバイナリ(i386 + x86_64)です。
何かアイデアはありますか?
ns2 - av_open_input_file は -2 を返しますが、ファイルは存在します (NS2 の libav)
NS2 で .wav ファイルを読み込み、gsm にエンコードしてネットワーク経由で送信するシミュレーションを作成しようとしています。私はすでに、.wav を読み取り、gsm にエンコードし、ハード ドライブに保存するアプリケーションを作成することができました (テスト済み、正常に動作します)。今、Network Simulator 2 を拡張して同じことをしようとしましたが、gsm エンコーディング アプリケーションでそのファイルに問題はありませんでしたが、常にそのようなファイルがないと言う av_open_input_file に問題があります。私が使用する呼び出し:
libavは明らかに何らかのファイルプロトコルを使用しているため、パス、絶対パス、相対パスをハードコーディングし、「file://」を前に置いて、すでに別のファイルを試しました。次に、自分でファイルを開こうとしました:
(この呼び出しは、av_open_input_file によって呼び出されることになっている libav の file.c で見つかりました) そのようなファイルを開くことに問題はありません。すべて問題ないようです。
助言がありますか?
よろしく、フロレンカ
c++ - h264ビデオのAVPacketからCMediaTypeとIMediaSampleを埋める
検索してもほとんど何も見つかりませんでしたので、質問にご協力いただければ幸いです。
私は、libavを使用してYouTubeのFLVファイルからダウンストリームh264パケットを読み取って送信するDirectShowソースフィルターを作成しています。しかし、フィルターのGetMediType()とFillBuffer()を正しく実装するための適切なlibav構造体のフィールドが見つかりません。一部のlibavフィールドはnullです。その結果、受信したデータを処理しようとしてh264デコーダーがクラッシュします。
私はどこが間違っていますか?libavまたはDirectShowインターフェイスを使用していますか?たぶん、h264はlibavで作業するときに追加の処理が必要ですか、それとも参照時間を間違って入力しますか?誰かがlibavでDirectShowh264ソースフィルターを書くのに役立つリンクを持っていますか?
GetMediaType()の一部:
FillBuffer()の一部:
PS hax264デコーダーを使用してフィルターをデバッグしましたが、libavの非推奨関数img_convert()を呼び出すとクラッシュします。