2

DVB チューナー (MPEG トランスポート ストリーム) でチャンネルを録画しました。チャンネル内の PAT/PMT テーブルを検索し、VideoPID と AudioPID を決定できます。ここで、1 つのビデオ/オーディオ ストリームを「通常の」MPEG "*.mpg" ファイルに記録したいと考えています。

インターネットを調べても何も得られません...うーん、「簡単な」情報これを作成する方法、誰も私にヒントを持っていますか? 私はFFDShowや外部ツールを使いたくないので、自分でその部分をコーディングしたい... :)

クリスチャンに挨拶

4

2 に答える 2

0

PAT テーブルと PMT テーブルは既に抽出されているとのことですが、1 つのオーディオ/ビデオ ストリームを記録する場合は、特定の PID の TS パケットをキャプチャする必要があります。PID は、実行中のさまざまなチャネル (A/V ストリーム) の PMT テーブルから見つけることができます。特定のチャネルのオーディオが PID X で TS パケットとして送信されていることがわかったとします。PID X ですべての PID パケットをキャプチャできます。PID X のトランスポート パケットを取得したら、エレメンタリ ストリームを取り出すことができます。これらの収集されたパケットのうち、エンコードされたデータになります。これで、任意のスタンドアロン デコーダー/プレーヤーを使用して、このエレメンタリ ストリームを再生できます。

ありがとう、ドルフィン

于 2011-05-31T13:40:44.903 に答える
0

あなたの答えは、TS ストリームを PS ストリーム (.mpg) に変換する方法に相当する可能性があります。

概要と同様に、次のことを行う必要があります。

  1. 目的のビデオとオーディオが存在する正しい PID を特定します。通常、この情報は PAT/PMT に存在するか、DVBsnoop や libdvbpsi などの外部ツールを使用してその情報を抽出できます。

  2. TS パケットを PES パケットまたはオーディオ フレームとビデオ ピクチャにデパケット化する必要があります。パケットの PTS / DTS 値を保持する必要があります。

  3. パケットを注文します (PS 形式に関心があります)。ここで mlex などのツールを使用できます。

ここで詳しく答えました: トランスポートストリームとmpegファイル形式

于 2011-11-27T10:38:25.423 に答える