問題タブ [mpeg-2]

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

android - MPEG2 ビデオ ストリームをデコードするための Android MediaCodec の使用

MediaCodecAPI を使用して、MPEG2エンコードされたストリームをデコードおよび表示しようとしています。MediaExtractorMPEG トランスポート ストリーム ( ) からストリームを抽出するために使用しTSます。

configure()Nexus7(2012)、Nexus7(2013)、Nexus10 など、試したすべてのデバイスでデコーダーがエラー コード 0x80001001 で失敗していることに気付きました。

configure()APIを使用する際に問題が発生する唯一のパラメーターは、MediaFormat提供されている構成であり、これは Android から取得されますMediaExtractor。何がうまくいかず、この問題が注目されるようになったのか理解できません。

MediaFormatオブジェクトに存在する構成パラメーターは次のとおりです。

MediaCodecこのエラーは、すべてのデバイスで多少似ています。これは、エラーがスタック内の共通のエンティティから発生している可能性があることを意味している可能性があります。これはNexus7(2013)のエラーです。(0x80001001 – OMX_ErrorUndefined)

この動作MPEG2は、Android プラットフォームでサポートされる必須のコーデックではないためですか、それとも何か間違っていますか? MPEG2デコーダーの動作に関する情報は大歓迎です。

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

encoding - PTS/DTS を MPEG ストリームに書き込む (Gstreamer)

そのため、GNURadio プロジェクトでは、PSIP データを多重化した MPEG-2 ビデオをテレビに送信しています。上記のデータとビデオの実際の受け渡しは問題ありませんが、ビデオは適切にデコードされません。ほとんどが空白で、至る所でブロックが点滅しており、動きの速いシーンでは「ガベージ」が多くなっています。ほとんどが黒で、「ブロック」がランダムに現れたり消えたりすることを除けば、このような感じです。このように見えるはずです。

テスト用にミキサーに追加する前に、videtestsrc を使用しています。avconv を試しましたが、何らかの理由でこの問題は発生しません。

以下はパイプラインです。

mpv、SMPlater で正常にレンダリングされ、TSReader でビデオを再生できますが、mpv のコマンド出力に表示されるエラーは"

と...

何が起こっているのでしょうか?ライブ ソースの場合、適切な PTS/DTS 値を書き込むにはどうすればよいですか? はい、MPEG-2 と gstreamer を使用する必要があります。

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

c - mpeg ビデオ ファイルからシーケンス ヘッダーを抽出する

私も新しく、 (from )mpeg2decを使用してビデオ ファイルからシーケンス ヘッダーを抽出しようとしました が、どこにも到達しませんでした。 ファイル内のその場所を取得してポイントしようとしましたが、それを別のファイルにコピーできませんでした。mpeg2.hlibmpeg2
STATE_SEQUENCE

case : のステートメントでは、STATE_SEQUENCE位置を返す代わりに、シーケンス ヘッダー全体を別のファイルに書き込みたかったのです。それは正しいですか?

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

c++ - 複数のアウト ピン ストリーム DirectShow フィルタを選択的に「オフ」にする

この質問は以前に尋ねられたと思いますが、検索したところ、解決に役立つ具体的なものは見つかりませんでした。

最初の懸念事項の概要を説明することから始めます。より詳細な技術情報が必要な場合は、それを提供できます。最初の質問に十分な情報があることを願っています。

Visual Studio 2010 で c++ と directshow を使用してアプリを作成しています。主なプロジェクトの仕様は、ライブ プレビュー用であり、任意の時点で、ビデオを mpeg2 に記録してハードドライブに記録し、次に dvd に記録して、標準の dvd プレーヤーで再生します。 、常にライブ プレビューが中断されないようにします。

キャプチャは、directshow を使用するための非常に些細な標準的な簡単なことのようです。

私が書いたカスタムフィルターがいくつかあります。驚くべきことではありませんが、独自のカスタム スクリーン オーバーレイ情報 (時間と日付など) が必要でした。これは、プレビューと記録されたファイルに含まれている必要があります。キャプチャ カードのビデオ出力ピンに接続された avi デコンプレッサを使用し、avi デコンプレッサをフィルタに接続して、操作可能な RGB イメージを提供します。このフィルターからの出力は、inftee フィルターを介して分割され、1 つは画面に送られ、もう 1 つは ms mpeg2 エンコーダーに送られます。オーディオは、キャプチャ カードのオーディオ出力から同じ mpeg2 エンコーダに送られます。次に、mpeg2 エンコーダーからの出力がファイルに送られます。そのファイルは、DVD 用にオーサリングされ、DVD に書き込まれます。

だから私の質問は...

mpeg2ファイル出力のみの開始と停止を許可するのに最適な場所はどこで、どのようにしてユーザーの操作で実行できますか?

スマート ティー フィルターを使用してみました。ビデオ用に 1 つ、オーディオ用に 1 つを mpeg2 エンコーダーの前の最後のフィルターとして使用し、iamstreamcontrol インターフェイスを使用して適切なタイミングでピンをオフにします。これにより、最終的な mpeg2 でタイミングの問題が発生する必要がありますか? 出力ファイルは mplayer や vlc などを介して再生されますが、mpeg2 DVD 準拠に変換されないため (テスト用 - 任意の DVD オーサリング ソフトウェアを介して - 壊れたファイルの苦情と somteimes が時間の参照を提供します) -ファイルに問題があり、エラーが発生していますか? キャプチャが開始された最初の瞬間からファイルがキャプチャされた場合 (ストリーミングの 5 分後ではなく)、すべて問題ありません。

streambuffer ルートを使用することを考えました - http://msdn.microsoft.com/en-gb/library/windows/desktop/dd693041(v=vs.85).aspx - しかし、最善の方向についてはわかりません物事を取る。最良の方向への選択肢はおそらくいくつかあるようです。

どんな助けやヒントも大歓迎です。特に、DirectShow フィルター、ピン、グラフ、およびそれらがどのように一緒に流れるかについての Web サイト/本/情報がある場合。

編集: 私は「スマート ティー」フィルターの独自のコピーを作成することを考えていました。つまり、オーディオとビデオの 2 つの入力ピンと、4 つの出力ピン - 2 つのビデオ (1 つのプレビューと 1 つのキャプチャ) と 2 つの出力ピンがあります。オーディオでも同じですが、同じ問題が発生しますか? そして、そのカスタム フィルタのキャプチャ ピンを「オフにする」処理の正しい方法は何ですか。このような作業に時間を費やすことになるでしょうか? 出力ピンのアクティブ/非アクティブ メソッドをオーバーライドし、サンプルを送信するか送信しないかの単純なケースですか? そんなに簡単じゃない気がする?

どうもありがとう!

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

c++ - libav を使用してビデオを DVD 準拠の mpeg2 にエンコードするにはどうすればよいですか

私はFFMpegを初めて使用し、コマンドラインオプション -f dvd を使用するのと同等のことをしたいのですが、私のアプリではlibav APIを使用しています。FFMpeg のソースでは、オプションはいくつかのパラメーターを次のように設定します。

これらは libav api とどのように関連していますか?

着信ビデオ フレームは、yuv420p 形式で 720x576 の pal の正しい解像度です。私のパラメータのいくつか...

AVDictionary...辞書とは何ですか? エンコーディングプロセスとどのように関連していますか? コードの設定のコレクションを渡すための単なるユーザー辞書ですか?

最終的には、既に pal dvd の正しいサイズと形式になっている着信ビデオ フレームをトランスコードし、dvd 準拠の mpeg2 ビデオ (2048 バイトのデータ パケット) を出力できるようにしたいと考えています。mpeg2 ビデオ形式は理解していますが、ffmpeg パラメータと混同しています。

ありがとう!

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

c++ - MPEG2ビデオをGOP(Group of Pictures)エンドでカットするCコード

私は MPEG 2 トランスコーディング プロジェクトに取り組んでおり、GOP の境界でビデオをカットする必要があります。
私はいくつかのドキュメントを調べ、次の GOP の開始時にビデオをカットすることができました ( I フレーム(または) GOP 開始コードをチェックすることによって0x00 0x00 0x01 0xB8) が、同じ GOP 境界でビデオをカットする必要があります。

これを行う方法はありますか?

0 投票する
3 に答える
504 参照

java - JAVA MP2 再生 (ネイティブ)

MP2 オーディオ ファイルと JAVA に問題があります。とにかく、オーディオはJAVAの苦痛のようです。JavaLayer と Xuggler を使用して、MP2 ファイルをデコードし、WAV にトランスコードしてみました。どちらも失敗しました。そして、それらの開発は活発ではないようです。多くの人がまだこれらを使用していますが。JMF や FMJ はまだ試していません。私はよりネイティブなアプローチを望んでいました。

私は自分のプロジェクトに JavaLayer をフォークすることになりました。コードを少し変更するだけで、MP2 からすべてのフレームを読み取れるようになったようです。しかし、それを WAV に変換しようとすると、VLC でしか再生できないファイルになり、認識できましたが歪んでいました。

とにかく、大まかな質問、申し訳ありません。私を助けてくれる JAVA + JavaLayer + MP2 の達人がいるのだろうか?

元の MP2: https://dl.dropboxusercontent.com/u/90134918/horng014.mp2 失敗した WAV 変換: https://dl.dropboxusercontent.com/u/90134918/horng014_fail.wav

このプロジェクトのパブリック GitHub アカウントを持っていますが、この壊れたコードはまだそこに投稿していません。