問題タブ [swscale]

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.

0 投票する
1 に答える
1616 参照

c++ - エラー: swscale ヘッダーが見つかりません! FFmpeg または Libav をインストールする

Ubuntu ボックスで OpenMCU.ru をコンパイルしたいのですが、./configureコマンドを実行すると、次のエラーが表示されます。

解決策はありますか?

0 投票する
1 に答える
996 参照

ffmpeg - FFMPEG - AVFrame からチャネルごとの配列への変換

AVFrameピクセルが一度に 1 つのチャネルを行優先の順序で格納される配列にコピーしようとしています。

詳細:

ビデオからフレームを読み取るためにFFMPEGのAPIを使用しています。次avcodec_decode_video2のように各フレームをフェッチするために使用しました。AVFrame

宛先配列は次のようになります。

vid_frameすべてをにコピーする必要がありますframe_arr。ピクセル値の範囲は [0, 255] である必要があります。問題は、配列がフレームを一度に 1 つのチャネル、つまり R11、R12、... R21、R22、... G11、G12、... G21、G22、などの行優先順で格納する必要があることです。 . B11, B12, ... B21, B22, ... ([カラー チャネル][行インデックス][列インデックス] という表記を使用しました。つまり、G21 は行 2、列 1 のピクセルの緑チャネル値です) . 私は を見てきましたが、sws_scaleその関数がそのような変換を行うことができるかどうかを理解するのに十分ではありません. 誰か助けてくれませんか!! :)

0 投票する
1 に答える
1098 参照

c++ - FFMPEG: sws_scale がエラーを返す: スライス パラメータ 0、2160 が無効です

チュートリアルに従って、ffmpeg AVFrame 出力を SDL で表示しようとしています。チュートリアル (および私がオンラインで見ているすべての例) は、「sws_getContext」をまだ使用しています。これは、ffmpeg の最新バージョンから廃止され、削除されました。現在のピクセル形式を現在のものから PIX_FMT_YUV420P に変更して表示できるようにしようとしています。これを達成するには、sws_scale 関数が必要だと思います。

ただし、sws_scale は次のコマンド ライン エラーを引き起こす関数です: スライス パラメータ 0、2160 は無効です

swsContext に関連するすべてのコードを次に示します。

さらに複雑なことに、SwsContext は ffmpeg の内部でのみ定義されており、外部では変数を設定/取得したり、デバッガーでそれらを表示したりすることはできません。

int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dst[], const int dstStride[] )

av_sws_ctx 以外の他のパラメーターの値:

sws_scale ソース コードを掘り下げると、次のコード チャンクによってこのエラーがスローされることがわかります。

したがって、ビデオの高さがsws_context(4kビデオ)よりも大きいことが問題だと思います。しかし、sws_alloc_context、sws_init_context、またはその他の関数を使用して、高さをsws_contextに伝える方法がわかりません。

見落としているものがありますか?ありがとうございました。