0

ビデオは YUV 色空間でエンコードされます。Android API は、そのままでは RGB のみをサポートします。VPlayer や MX Player などの一般的な Android ビデオ プレーヤーは、この問題をどの程度解決しますか?

4

3 に答える 3

0

opencvでは、これを行うことができます

cv::Mat myuv(height + height / 2, width, CV_8UC1, (unsigned char *) mem);
cv::Mat bgr(width, height, CV_8UC3);
cv::cvtColor(myuv, bgr, CV_YUV420sp2RGB, 3);
于 2016-08-10T21:34:01.320 に答える
0

それらのほとんどは、ffmpeg を使用してオーディオ/ビデオをデコードします。

https://sites.google.com/site/mxvpen/ffmpeg

https://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20compile%20FFmpeg%20for%20Android

于 2013-05-29T16:45:20.500 に答える
0

2 つの一般的な解決策:

  1. 純粋なソフトウェア アルゴリズムを使用して、YUV -> RGB を変換します。
  2. 3D シェーダー ハードウェアを使用して、YUV から RGB への変換という面倒な作業を行います。

また、これが最適なアプローチであるかどうか (つまり、これは、ソフトウェアでビデオをデコードしていることを意味します) についても質問してください。そうする必要がありますか? ハードウェアは代わりにそれを処理できますか (同時に表示できますか)?

于 2013-05-29T16:44:30.157 に答える