問題タブ [mediamuxer]

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

android - MP3からwavへの変換アンドロイド

wav を m4a に変換する作業コードがあります。既存のコードを変更して mp3 を m4a に変換する方法はありますか。ffmpeg またはネイティブ コードを使用したくありません。以下の関数は wav から m4a への変換では機能しますが、機能しませんmp3からm4aへの作業

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

android - Android: MediaCodec を使用したオーディオとビデオのエンコード

MediaCodec と MediaMuxer を使用して、カメラからのビデオとマイクからのオーディオをエンコードしようとしています。OpenGL を使用して、記録中に画像にテキストを重ねます。

これらのクラスを例に取りました:

エンコーディングを実行するメインクラスを作成しました。オーディオとビデオを記録するための 2 つのスレッドを生成します。動作しません (生成されたファイルが無効です) が、スレッドの 1 つ (オーディオまたはビデオ) にコメントすると、正常に動作します。また、TRACK_COUNT を 1 に設定する必要があります。これはメイン クラスのコードです。

マルチプレクサをラップし、トラックが完了するのを待ってから開始するクラスは次のとおりです (テストのためにいくつかの同期を追加しました)。

MediaCodec エンコーダーへの書き込みを担当するクラスは次のとおりです。

同時に実行すると失敗する可能性がある理由は何ですか?

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

android - Android で MediaMuxer を使用して h.264 ストリーミング ビデオを保存する

(私は英語があまり得意ではありませんが、最善を尽くします。)

受信した h.264 ストリーミング ビデオ/オーディオ フレームをクリップに保存する Android アプリに取り組んでいます。そして、ここで言及されている「コーデック固有のデータがありません」という問題に遭遇しました。

これを解決する方法をいくつか試しました。

  1. 定義済みのコーデック固有のデータを割り当てます。この投稿
    から借りたものは、驚くほど完璧に機能しましたが、個人の電話(Sony Xperia Z3、Android 5.1.1)でのみ機能しました。ほとんどのテスト デバイスはクラッシュします (Android 4.3/4.4)。
  2. ビデオ ストリーム自体からコーデック固有のデータを解析しています。
    私の電話では、それは押しつぶされました。しかし、どういうわけか、一部のデバイスでは機能します。このコードを例として使用します。
  3. 受信したビデオ フレームをエンコードするエンコーダを作成し、MediaMuxer に渡します。
    はい、それはばかげた考えです。うまくいきません。
  4. 受信したビデオ フレームをデコードするデコーダを作成し、それらをエンコーダに渡し、エンコードされたフレームを MediaMuxer に渡し、保存します。
    アプリがエンコーダーから空きバッファーを取得できません。デッドロック。

今、私はアイデアを使い果たしています。

私が得た最後の希望は、ffmpeg を使用することです。
しかし、私が見つけたリソースは、ストリームからではなく、ビデオ ファイルからのビデオのエンコード/デコードです。
助言がありますか?

前もって感謝します。:)

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

android - ビデオをオンラインでエンコードする Mediacodec

Grafika の CameraCaptureActivity でビデオ ベースを記録するコードを実装できました。これで、1 から 10 まで数えながら自分自身を記録できますが、記録されたビデオを見に行くと、1、3、8、9 と言っています。サーフェスは次のように構成されました。

そしてエンコーダー

幅: 310、高さ: 310。

私の問題はビットレートですか?エンコーダーによって記録されるように表示するすべてのフレームを受信するには、どの値を設定する必要がありますか? ありがとう。

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

android - Mp4 から音声を抽出して Sd カードに保存 (MediaExtractor)

SD カードに mp4 ビデオ ファイルがあります。ビデオからオーディオを抽出し、MediaExtractor Api を使用して、抽出したオーディオを別のファイルとして SD カードに保存したいと思います。これが私が試したコードです:

選択したオーディオ トラックを取得して SD カードに保存する方法がわかりません。