問題タブ [android-mediacodec]

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 投票する
2 に答える
36763 参照

android - Android でのビデオ表示のアスペクト比変更のためのサーフェス ビューのサイズ変更

私はビデオ会議プロジェクトに取り組んでいます。私のビデオ ディスプレイはサーフェス ビューを使用しています。ビデオ通話中に、着信フレームのアスペクト比が変化する可能性があります。だから私はそれのために次のコードを試しました

呼び出しの最初にこの関数を呼び出すと、すべて問題ありません。私の問題は、アスペクト比を変更するための呼び出しの間にこの関数を呼び出すと、次のフレームを表示するのに時間がかかりすぎることです。時々、ビデオが動かなくなることさえあります。

で表面を破壊して再現してみました

しかし、サーフェスは作成されていません。

ビデオのデコードに Mediacodec を使用していますが、解像度が変更されると通知が届きます。

既にビデオが再生されているときに surfaceView のサイズを変更するために、他にすべきことはありますか?

手伝ってくれてありがとう.........................

0 投票する
0 に答える
251 参照

android - メディア コーデックを使用してビデオ ストリーミングをデコードする方法

ビデオ ストリーミングを実装する必要があります。ビデオを録画する必要があります。ビデオをデコードする必要があります。メディア コーデックを使用してビデオをデコードしていますが、次のようなエラーが表示されます。

このエラーの理由は何ですか? または、他のアイデアがあれば、教えてください

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

opengl-es - GLSurfaceview を使用したメディア コーデックとレンダリング、OnDrawFrame の最適化

カメラからのフレームをエンコードするためにメディアコーデックを使用しており、gl サーフェスビューを使用してレンダリングしています。

私の ondrawframe は次のようになります

}

したがって、ここでは、サーフェスにレンダリングする Draw(surface) を 2 回実行しています。これにより、システムのオーバーヘッドが発生します。オンドローを1回だけできるところはありますか?シェーダーを 2 回使用するのはコストのかかる操作です。レンダーとエンコーダーの間でサーフェスを共有する方法はありますか?

0 投票する
2 に答える
3911 参照

android - Android: SurfaceTexure、カメラ フレームの待機タイムアウト

MediaCodec と MediaMux を使用しようとしていますが、問題が発生します。

logcat からのエラーは次のとおりです。

onResume 関数内の「mStManager.awaitNewImage();」でコードが間違っています。そしてlogcatは「カメラフレーム待機タイムアウト」と言っています。
mStManager は、SurfaceTextureManager クラスのインスタンスです。そして、「カメラ フレーム待機タイムアウト」は awaitNewImage() 関数から来ます。そのクラスを投稿に追加しました。

私のコードの一部は次のようになります(onCreate関数とonResume関数):

エラーに関連するコード内のクラス

誰にもアイデアはありますか?ありがとうございました!

0 投票する
0 に答える
403 参照

android - カメラ フレームの待機時間 out_android、MediaCodec、MediaMux、SurfaceTexure

CameraToMpegTest.java をhttp://bigflake.com/mediacodec/から Android プロジェクトに変更しようとしています。そして、いくつかの問題に遭遇しました。logcat からのエラーは次のとおりです。

onResume 関数内の「mStManager.awaitNewImage();」でコードが間違っています。そしてlogcatは「カメラフレーム待機タイムアウト」と言っています。mStManager は、SurfaceTextureManager クラスのインスタンスです。そして、「カメラ フレーム待機タイムアウト」は awaitNewImage() 関数から来ます。そのクラスを投稿に追加しました。

私のコードの一部は次のようになります(onCreate関数とonResume関数):

エラーに関連するコード内のクラス

誰にもアイデアはありますか?ありがとうございました!

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

android - MediaCodec と MediaMuxer を使用した画像からビデオへの変換

jpegファイルとして保存されたローカル画像がたくさんあります。私の画像は CameraPreview を使用してキャプチャされ、PreviewFormat はデフォルトの NV21 です。一定数の画像から小さなビデオを生成したい。

FFMpegには NDK が必要であり、互換性の問題が発生するため、FFMpeg は使用しません。

MediaCodec と MediaMuxer は動作しているように見えますが、Web 上で動作するソリューションは 1 つもありません。

私の現在の解決策につながるいくつかの参照があります。

1. EncodeAndMuxTest : http://bigflake.com/mediacodec/EncodeAndMuxTest.java.txt

これはfaddenによって書かれています。彼がqueueInputBufferではなくcreateInputSurfaceを使用していることを除いて、それは私のニーズに非常に合っています。

2.ビットマップ配列を YUV (YCbCr NV21) に変換します。

この回答に従って変換を行います。https://stackoverflow.com/a/17116985/3047840

3. MediaCodec を使用して一連の画像をビデオとして保存する

この質問は私のものとよく似ていますが、私は MediaMuxer をわざわざ使用しません。

私のコードは次のとおりです。

}

ログキャット: