問題タブ [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 投票する
2 に答える
818 参照

android - Android: MediaCodec: Nexus で 480x480 用に生成された悪いビデオが、640x640 では正常に動作する

MediaCodec (および MediaMuxer) を使用して、Android で Mpeg4/avc ビデオをレンダリングしています。

LG Nexus 4 と Samsung Galaxy 5 の両方でテストしています。

サムスンでは、レンダリングされたビデオは、640x640 と 480x480 の両方のフレーム サイズで期待どおりに見えます。

ただし、Nexus では、480x480 では見栄えの悪いビデオが生成されますが、640x640 では適切なビデオが生成されます。

質問です:理由は何ですか?これはバグですか、それとも私が認識していない「機能」ですか。

すべての Android デバイスで正しくレンダリングされると信頼できる既知のフレーム サイズはありますか? それとも、さまざまなデバイスでテストする必要がありますか?

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

android - Android のテストケース外で ExtractDecodeEditEncodeMuxTest を実行する

Android でビデオを抽出、デコード、編集、エンコード、および多重化する機能を追加しようとしています。したがって、Android CTS ExtractDecodeEditEncodeMuxTestの一部である非常に便利な実装を見つけました。残念ながら、コードはテストケースの一部として実行された場合にのみ機能します。通常のアクティビティから実行して取得しようとしました:

E/ExtractDecodeEditEncodeMuxTest (18781): java.lang.IllegalStateException: マルチプレクサの停止に失敗しました

W/System.err(18781): java.lang.RuntimeException: Surface フレームの待機がタイムアウトしました W/System.err(18781): at ...OutputSurface.awaitNewImage(OutputSurface.java:216)

出力サーフェスがフレームを受信しない理由はありますか?

更新: 動作中のテスト ケースと動作していない実装のログ ファイルは次のとおりです。両方のコードはまったく同じです。唯一の違いは、動作中のものは AndroidTestCase であり、もう 1 つは IntentService 内のアプリケーションで実行されていることです。

約 6 フレーム後に抽出とデコードがすべて停止するようです。何か案は?

作業中のテストケースのログ出力

非稼働ログ出力

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

android - Android OS 4.1.2 以降の Muxer と同等のライブラリ

現在、Android 動画編集アプリを開発中です。私たちは2つの大きな問題に直面しています

メディア コーデックを使用して H264 ストリームを取得するバイト バッファーがあります。ここから、mp4 ビデオを作成します。4.3 以降では、メディア マルチプレクサを使用できることを認識しています。ただし、MediaCodec ライブラリがあるため、4.1.2 などの古い OS をサポートする必要があります。マルチプレクサを使用せずに H264 ストリームから mp4 ファイルを作成する他の方法があることを知りたいと思いました。

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

android - Android MediaMuxer オーディオの問題

MediaMuxer を使用してオーディオ トラックをビデオに追加しようとしています。次のコードは機能しますが、オーディオはビデオの途中で停止します。ビデオ ファイルとオーディオ ファイルの両方に 1 つのトラックしかありません。オーディオとビデオの再生速度は問題ないようです。音声ファイルは動画よりも長いので、それは問題ではないと思います。私はしばらくこれに取り組んでいましたが、今では理解できません。

メディア形式のプリントアウトは次のとおりです。

ガイダンスをいただければ幸いです。

ありがとう

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

android - Android MediaMuxer readSampleData IllegalStateException

次のコードを使用してビデオを生成しています。ただし、5 回に 1 回の試行で readSampleData が IllegalArgumentException または IllegalStateException を発生させます。例外を停止するにはどうすればよいですか。readSampleData を呼び出す前にエクストラクタの状態を確認できますか。もしそうなら、どのように?

実際のコードは、ビデオ エクストラクタ ループの後にオーディオをビデオに追加します。

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

android - MediaMuxer と MediaCodec を使用して wmv ビデオ ファイルを mp4 ビデオ ファイルに変換する

.wmv ビデオ ファイルを mp4 ビデオ ファイルに変換したい。MediaMuxerおよびMediaCodecクラスを使用することは可能ですか?

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

android - MediaCodec と MediaMuxer を使用してビデオとオーディオを記録する方法

MediaCodec と MediaMuxer を使用してビデオを録画 (エンコード) できます。次に、MediaCodec と MediaMuxer を使用して、オーディオ部分とビデオを含むオーディオを多重化する必要があります。

私は2つの問題に直面しています:

  1. MediaCodec でオーディオをエンコードする方法。オーディオとビデオを別々のスレッドでエンコードする必要がありますか?

  2. オーディオとビデオのデータを MediaMuxer に渡すにはどうすればよいですか (writeSampleData() メソッドは一度に 1 種類のデータしか取りません)。

MediaMuxerTestを参照しましたが、MediaExtractor を使用しています。ビデオのエンコードは MediaCodec で行われるため、MediaCodec を使用する必要があります。間違っている場合は修正してください。

これらの新しい API に関する適切なドキュメントがないため、提案やアドバイスは非常に役立ちます。

ノート:

  1. 私のアプリは API 18+ (Android 4.3+) をターゲットにしています。
  2. ビデオのエンコーディングについては、Grafikaを参照しました。
0 投票する
0 に答える
301 参照

android - メディアコーデックを使用したビデオ圧縮

Androidで圧縮する必要があるビデオがあります.現在、ffmpegを使用していますが、正常に動作していますが、メディアコーデックとメディアマルチプレクサを試してみたい. 私はすでにhttp://developer.android.com/reference/android/media/MediaCodec.htmlのドキュメントを読んでおり、これらのリンクも試しました: https://github.com/hoolrory/MediaCodecDemo
および上記のメディアコーデックに関する多くのリンクのように.

正確にどのように機能し、どのような手順が取られているか教えてもらえますか??

前もって感謝します!!