問題タブ [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.
android - Android テスト プロジェクト bigflake
BigFlake Android samplesからサンプル コードを実行しようとしています。具体的には、この 1 つの例: CameraToMpegTestです。私は Android 開発に不慣れで、このテスト スイートをどのように扱うべきかわかりません。Eclipse で Android テスト プロジェクトを作成しようとしましたが、実行されません。インターネット上の例では、特定のアプリケーション プロジェクトから Android テスト プロジェクトを作成しているようです。誰かがこれらのコードを実行しようとしましたが、ヒントを教えてもらえますか?
android - Android の MediaMuxer を使用して複数の mp4 オーディオ ファイルを連結する
次の関数を使用して、複数の mp4 オーディオ ファイル (それぞれが 1 つのオーディオ トラックのみを含み、すべて同じ MediaRecorder と同じパラメーターで記録されている) を 1 つに連結しようとしています。
コードはコンパイルされて実行されますが、結果のファイルを再生すると、最初のファイルの内容しか聞こえません。私が間違っていることはわかりません。
しかし、Marlon が私にその方向を示した後、MediaMuxer から受け取っているメッセージに奇妙な点があります。どうぞ:
最初のファイルからデータをコピーした後、MPEG4Writer (なぜ MediaMuxer ではないのですか?) はトラックを停止し、それ以上データを書き込まないようです。どうすればそれを防ぐことができますか? ヘッダーを直接操作する必要がありますか? もしそうなら、どのようにしますか?
どんな助けでも大歓迎です。
よろしくお願いします、
キリスト教徒
android - StagefrightRecorder から Video Muxer 部分を抽出するには?
でビデオ録画システムを構築しようとしています。Android 4.2.2
を使用しているエンコード部分を完了しましたOMX
。を使用すると、ビデオのコード ストリームが少し異なる可能性があるため、現在、Muxer 部分に取り組んでいますFFMpeg
。そのため、元のシステムとまったく同じ Muxer ツールを使用したいと考えています。そのため、の Muxer 部分を抽出し、StagefrightRecorder
それを .so ファイルにコンパイルしてから、アプリケーションでそれを呼び出したいとJNI
思います。しかし、中にはたくさんのものがありStagefrightRecorder
、私は混乱しています。
この方法は機能しますか?MPEG4Writer に関連するコードを抽出することはできますか? 誰でも私に指示を与えることができますか?ありがとう!
android - openGL を使用した Android MediaMuxer
を使用してムービーを生成しようとしていMediaMuxer
ます。このGrafika
例は素晴らしい取り組みですが、それを拡張しようとすると、いくつかの問題が発生します。
正方形、三角形、線などの基本的な形状をムービーに描画しようとしています。図形を画面に描画すると、openGL コードはうまく機能しますが、同じ図形をビデオに描画できませんでした。
openGL マトリックス、プログラム、シェーダー、ビューポートの設定についても質問があります。通常、これらをセットアップできるようonSurfaceCreated
に、およびのようなメソッドがあります。onSurfaceChanged
でそれを行う最良の方法は何GeneratedMovie
ですか?
誰でも、より複雑な形状でビデオに書き込む例があれば歓迎します
android - MediaMuxer 連続キャプチャ
私はGrafikaの例を試しています。ContinuousCapture
動画をファイル システムに記録し、同時に画面に描画する例に興味があります。私が抱えている問題は、ファイル システムへのビデオの録画が非常に遅いように見えることです。コマ落ちが多く、1 秒あたりのフレーム数はわずか 7 ~ 10 fps です。
メインdrawFrame()
メソッドの中で、
主なパフォーマンスのボトルネックは
2 つのログ間の時間は 130 ミリ秒です。Android MediaRecorder は、30 fps の高品質ビデオでその仕事を行うことができます。表示部分を無効にしようとしましたが、違いはありません
android - MediaMuxer で作成された非ストリーミング ビデオ ファイル
MediaCodec
ビデオのエンコードに使用しています。フレームは、カメラ プレビュー コールバックを介してMediaCodec
インスタンスに送信されます (サーフェスは使用されません)。多重化にJCodecライブラリを使用しており、生成されたビデオをストリーミングできます (ビデオ プレーヤーは正しい時間を表示し、シーク バーでビデオの位置を変更できます)。
MediaMuxer
今日、代わりに使用しようとしJCodec
ましたが、ビデオはまだ問題なく見えますが、持続時間が完全に正しくなく (1 分ではなく数時間)、シーク バーがまったく機能しません。
を受け取ると、次のコードが遅延して呼び出されますMediaCodec.INFO_OUTPUT_FORMAT_CHANGED
。
次のコードでフレームをエンコードしています。
byteBuffer
いくつかのポジショニングの後bufferInfo
に直接来ています:MediaCodec
プレゼンテーション時間は正しく設定されています:
そして、記録の最後に私は次のことを行います:
ログ:
私はThe mp4 file will not be streamable.
問題についての信号を推測します。
アップデート:
より詳細なログを記録する別のデバイス (LG G2) でアプリをテストしました。同じファイルが膨大な期間で生成されます。ログはこちら、動画ファイルはこちら。
android - MediaCodec と MediaMuxer を使用したビデオのエンコードと多重化
MediaMuxer
ビデオをデコードし、特定のフレームを置き換えて、 を使用して再エンコードするアプリを開発していMediaCodec
ます。フレームを置き換えなくても (以下で説明する 1080p ビデオを除いて) アプリは機能しますが、置き換えると、置き換えられたフレームの後のフレームがピクセル化され、ビデオが途切れ途切れになります。
また、1920x1080 のビデオでアプリを試してみると、ビデオの先頭までスクロールするまでビデオに何も表示されないという奇妙な出力が得られ、ビデオが表示され始めます (ただし、前述の同じ問題があります)。編集後のピクセル化。
エンコーダーを構成する方法は次のとおりです。
要約すると、2 つの問題があります。
1- ピクセル化されたフレームと、変更されたフレームの後の途切れ途切れのビデオ。
2- 最初までスクロールしないと、1920x1080 のビデオが破損します。
編集
これは未編集の1080p ビデオのサンプルです。VLCで再生すると緑色の画面が表示され、スクロールして開始しない限り電話で正しく再生されず、開始時の緑色のフレームを除いて YouTube で奇妙に正常に動作するようになりました
これは、開始時に緑色のフレームを使用して編集されたサンプル720p ビデオで、編集後のピクセレーションとラグがクリアされています。
再エンコードをデコードするために使用するコードは次のとおりです。
デコード方法:
そして、これがエンコード方法です: