問題タブ [yuv]
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.
android - C ++でYUVからRGBに変換する(android-ndk)
私はAndroidで開発しており、バイト配列をカメラのpreviewCallback(YUV形式)からrgb形式に変換したいと考えています。
私はこの答えで与えられた機能を使用しました:Androidのビデオ画像からフレームを取得する
これはJavaで完全に機能しますが、私の問題は、関数をc ++で作成したいということです(私はndkを使用しており、c ++にあまり精通していません)。
C ++で関数を作成しようとしましたが、常に奇妙な結果になります(たとえば、画像がすべて緑色です)。
誰かが同様の関数またはc++で動作するこの関数を持っていますか?
ありがとう。
android - Android での YUV 画像の表示
私のアプリケーションでは、サーバーから受け取ったビデオ フレームを Android アプリケーションに表示する必要があります。
サーバーはビデオ データを毎秒 50 フレームで送信し、WebM でエンコードします。つまり、libvpx を使用して画像をエンコードおよびデコードします。
libvpx からデコードして YUV データを取得した後、画像レイアウト上に表示できます。
現在の実装は次のようなものです。
JNI / Native C++ コードでは、YUV データを RGB データに変換しています Android フレームワークでは、
ビットマップ イメージを作成するには、
次のコードを使用してimageViewの上に画像を表示するには、
私の質問は、この関数全体で約 40 ミリ秒かかっています。最適化する方法
はありますか? 1 - YUV データを imageView に表示する方法はありますか?
2 - RGB データからイメージ (ビットマップ イメージ) を作成する他の方法はありますか?
3 -- 私は常に画像を作成していると思いますが、ビットマップを一度だけ作成し、受け取ったときに常に新しいバッファを作成/提供する必要があると思います。
あなたの意見を共有してください。
android - AndroidのonPreviewFrame中にYUV->RGB(画像処理)-> YUVを変換しますか?
SurfaceViewを使用して画像をキャプチャし、パブリックボイドonPreviewFrame4(byte []データ、カメラカメラ)でYuvRawプレビューデータを取得しています
onPreviewFrameで画像の前処理を実行する必要があるため、Yuvプレビューデータを画像の前処理よりもRGBデータに変換して、Yuvデータに戻す必要があります。
私は次のようにYuvデータをRGBにエンコードおよびデコードするための両方の関数を使用しました:
問題は、Yuvデータのエンコードとデコードに誤りがある可能性があることです。前処理ステップをスキップすると、エンコードされたYuvデータもPreviewCallbackの元のデータと異なるためです。
この問題の解決にご協力ください。このコードをOCRスキャンで使用する必要があるため、このタイプのロジックを実装する必要があります。
同じことをする他の方法があれば、私に提供してください。
前もって感謝します。:)
android - プレビュー データをビットマップに変換しますか?
次の方法では、
データはYuv形式で提供されます。次の方法を使用して試したので、RGBに変換する方法はありますか
}
しかし、それは私にとっては正しく機能しません。
それをビットマップに変換する他の方法を提供してください。
ありがとう...!!!
ios - YUVからRGBへのソフト変換なしのFFmpeg AVFrameからOpenGLテクスチャへ
暗号化された H264 ビデオ ファイルを iOS でデコードしたいと考えています。復号化アルゴリズムは既に移植済みで、正常に動作しています。ただし、SDK に API がないため、H264 ハードウェア デコーダーを直接使用することはできません。
そのため、H264 ビデオをデコードする代替手段を見つけようとしています。LGPL ライセンスの問題が考えられる場合でも、FFmpeg を使用してこれらのビデオをデコードしようとしています。H264 ビデオを問題なくデコードし、OpenGL ES テクスチャのおかげで H264 フレームをレンダリングします。しかし、いくつかのパフォーマンスの問題があります。コードを計測しましたが、ボトルネックは ffmpeg の再スケーリングと YUV から RGB への変換です。OpenGL ES 2.0 シェーダーを使用して、GPU アクセラレーションを使用して YUV を RGB に変換できることを知っています (関連記事iOS 用の ffmpeg の代替)。また、AVFrame 構造がどのように構成されているかも知っています。Y データの場合は data[0]、U データの場合は data[1]、V データの場合は data[1] です。しかし、ライン サイズ [x] とデータ [x] を使用してデータを OpenGL テクスチャに送信する方法がわかりません。
AVFrame YUV から OpenGL テクスチャへの例はありますか?
ありがとう、デビッド
android - Android で動画からフレームを取得する
ビデオ ストリームから YUV フレームを取得するさまざまな方法を検討してきましたが、私が見たもののほとんどは、previewSize から幅と高さを取得することに依存しています。ただし、携帯電話は 720p でビデオを撮影できますが、多くの電話はそれより低い解像度 (つまり 800x480) でしか表示できません。したがって、1920x1080 に近いスクリーンショットを取得することは可能ですか (ビデオが 720p で撮影されている場合)? または、プレビュー解像度 (一部の電話では 800x400) を使用する必要がありますか?
ありがとう
video - Web カメラは未加工の非圧縮ビデオを USB 経由で渡しますか?
Web カメラは未加工の非圧縮ビデオを USB 経由で渡しますか? ビデオが渡される形式を知っている人はいますか? ありがとう
embedded-linux - v4l2 ビデオ キャプチャの例
これは私の最初の投稿であり、何か助けが得られることを願っています
samsung ok6410ボードとov9650 cmosカメラで組み込みLinuxに取り組んでいます
ビデオをキャプチャしてSDカードに保存する必要があります
ビデオをキャプチャする循環バッファーを使用したいのですが、それがいっぱいになると、新しいデータが古いデータを上書きできるようになります。
発生すると、キャプチャが 10 秒間継続してから停止するフラグがあります。ビデオは SD カードに保存され、フラグを上げる前の 10 秒と上げた後の 10 秒が含まれている必要があります。
v4l2 API仕様の公式サイトのキャプチャ例はこちら
http://free-electrons.com/kerneldoc/latest/video4linux/API.html
しかし、理解できない、または正しく理解しているかどうかわからない点がいくつかあります
この例では、4 つのフレーム バッファがあり、各バッファは 1 つのフレームを保持できます。これは正しいですか?
70 に初期化される変数 (frame_count) がありますが、これは、このプログラムを終了すると、70 フレームを含むビデオが得られるということですか?
fns (メインループ) と (読み取りフレーム) は何をしますか? 私は彼らが何をすべきかを知っていますが、書かれたコード、ループなどを理解できません..
このコードで fps を調整するにはどうすればよいですか? または、カメラのレジスタに値を書き込む必要がありますか?
ビデオをキャプチャした後、生データで満たされたバッファができます。それを圧縮するか、コーデックを使用して MPEG として保存したいのですが、YUYV の代わりにピクセル形式を圧縮 (MPEG など) に変更できますか? または、ビデオを圧縮するにはどうすればよいですか? コーデックまたは何?
バッファ内のこれらの生データをファイル .yuv に書き込むことはできますか? この形式のビデオを再生できるソフトウェアをいくつか見つけました。
キャプチャしたビデオを保持するために線形バッファーの代わりに循環バッファーを使用することは可能ですか?
投稿が長すぎることはわかっていますが、私は初心者であり、コードを書くのに役立つチュートリアルが見つかりません。
前もって感謝します
flash - RGB を YUV に変換 + ffmpeg
Flash/AIR アプリケーションからライブ ビデオを録画するために、次のことを試みています。
- 各フレームで「スクリーンショット」(ステージからの BitmapData) を撮ります。
各ピクセルを次のように yuv 形式に変換します(V2) :
/li>次の ffmpeg の行を使用して、raw ファイルをビデオに変換します。
/li>
ビデオが作成されますが、記録されたものとほとんど似ておらず、ごちゃごちゃしています。SimpleFlvWriterで同じ BitmapData の「スクリーンショット」を試したので、キャプチャプロセスが機能することはわかっています。
したがって、変換または ffmpeg の行に何か問題がありますが、わかりません。
これは、ビデオを作成するときにffmpegが出力するものです。おそらく誰かを助けることができます:
私は実際にはコーデックの専門家ではありません (始めたばかりです;))。
これは、フレームの 1 つとビデオ出力を含むzipです。目に見えるはずのものは、アーティファクトのない緑色の笑顔の梨です。サイズは 600x700 で、フォーマットは yuv420 です。このような生の画像ファイルは、irfanview、IMO で表示するのが最適です。ノイズは気にしないでください。マイクを押しているからです ;)
c++ - rgb から yuv420 へのアルゴリズムの効率
RGB 画像を YUV420 に変換するアルゴリズムを作成しました。私はそれをより速くするために長い時間を費やしていますが、その効率を高める他の方法を見つけられませんでした.やり方(アルゴリズムはC++ですが、Cとアセンブラもオプションです)