問題タブ [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 に答える
17660 参照

android - H264 の MediaExtractor なしで MediaCodec を使用する方法

MediaExtractor なしで MediaCodec を使用する必要があり、FileInputStream を使用してファイルを読み取っています。現在、機能していません。画面に緑がかったスクランブル画像が表示されています。

これはソースコード全体です:

MediaExtractor を使用すると、すべて正常に動作します。MediaExtractor の使用時に MediaFormat を調べて、SPS/PPS 値を取得しました。以下のセクションを削除すると、画面には何も表示されません。

私は何が欠けていますか?MediaExtractor を使用せずにプログラムで SPS/PPS 値を取得するにはどうすればよいですか?

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

android - MediaCodec.configure での不正な例外

カメラの onPreviewFrame コールバックを使用して、mp4 またはあらゆる種類のビデオ ファイルをエンコードする方法を学習しようとしています。

現在、この投稿のサンプルコードを試しています

Android MediaCodec を使用したカメラからの H.264 のエンコード

残念ながら、私は IllegalException を取得し続けています

mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);

別の投稿 IllegalStateException when MediaCodec.configure Androidから、MediaCodec に設定する必要があるいくつかの必須値があることに気付きました。

必須のメディアコーデックの必須の値をすべて試しましたが、うまくいきませんでした

IllegalException。

今、私は試してみるアイデアが少し不足しています。提案、意見、またはヒントは大歓迎です。

ありがとう

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

android - Android CameraのonPreviewFrameのbyte []データをより低い解像度にスケーリングする方法

Android カメラには、フレームを byte[] データとして返す onPreviewFrame コールバックがあります。

1280 x 720 のバイト [] データ (NV21 形式) を返すようにカメラをセットアップしました。

私がやりたかったこと:

一部のフレームを 1280 x 720 の解像度 (jpeg) に保ちたいと思います。

そして、より低い解像度 (720 x 480 など) で mp4 エレメンタリー ストリームを生成します。

問題

MediaFormat.Key_Width と MediaFormat.Key_Height が onPreviewFrame の幅と高さと等しくない場合、MediaCodec はエラーになります。

byte[] データ (NV21) を 1280 x 720 から 720 x 480 のような低い解像度にスケーリングし、エンコーダーにフィードすることが可能かどうかを知りたいですか?

可能であれば、解像度 1280 x 720 の NV21 の byte[] データをより低い解像度に変換する手順を教えてください。

読んでくれてありがとう。提案や助けをいただければ幸いです。

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

android - MediaCodec を使用してオーディオ付きのビデオをエンコードする方法

そのため、カメラの onPreviewFrame メソッドを使用してフレームを収集することにより、MediaCodec で h264 エレメンタリー ストリームをエンコードしました ( Android MediaCodec でカメラからの H.264 のエンコードを使用)。次に、h264 ストリームを使用して mp4 ビデオを生成しました。残念ながら音声は入っていません。

MediaCodec にはオーディオ コーデックの設定があるため、オーディオのエンコードも許可する必要があることに気付きました。

h264 ストリームにオーディオを追加する方法はありますか?

読んでくれてありがとう。コメントや提案をいただければ幸いです。