問題タブ [mpeg2-ts]

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 に答える
27713 参照

ffmpeg - H264 ビデオ ストリームを正しく再エンコードせずに、ffmpeg で .MTS ファイル (AVCHD) を .mp4 に変換するにはどうすればよいですか?


後で見つけた別のコミュニティVideo Productionに同じ質問を投稿しましたが、この質問にはこちらの方が適しているようです。

参照: https://video.stackexchange.com/questions/12156/how-can-i-convert-mts-file-avchd-to-mp4-by-ffmpeg-without-re-encoding-h264-v/


1. 試したこと

AVCHD カメラで記録した .MTS (AVCHD 形式) ファイルがいくつかあります。その仕様は次のとおりです。

フレームレート/タイムベースの部分に注意してください: 29.97 fps、29.97 tbr、90k tbn、59.94 tbc

ここで、このファイルを .mp4 ファイルに変換したいと思いますが、 H264 ビデオ ストリーム を再エンコードせずにオーディオ ストリームを AAC にトランスコードします。そこで、次のコマンドを試しました。

ffmpeg -i 140612_Canon-00000.MTS -t 60 -y -vcodec copy -acodec libfaac -ab 128k 140612_Canon-00001.MTS.mp4

2. 結果

出力ファイルの仕様は次のとおりです。

フレームレート/タイムベースの部分を見てください: 59.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc . ffmpeg はビデオ ストリームをコピーしただけですが、フレームレートとタイムベースは値の 2 倍に変更されています

そのため、QuickTime Player または VLC Player で出力ファイルを開いて再生すると、オーディオは問題ありませんが、ビデオ ストリームは正しく再生されません。フレームを前後に揺らしながら再生を繰り返します。

3. 質問

  1. H264 ビデオ ストリームを正しく再エンコードせずに、ffmpeg で .MTS ファイル (AVCHD) を .mp4に変換するにはどうすればよいですか?
  2. とそのスイッチを使用してコンテナーを変換するときに、元のフレームレート/タイムベース値 (fps/tbr/tbn/tbc)を保持するにはどうすればよいですか?ffmpeg-vcodec copy
  3. ビデオ ストリームを再エンコードせずに、ffmpeg のコマンド ライン オプションでフレームレート/タイムベース値 (fps/tbr/tbn/tbc)を設定するにはどうすればよいですか。

何か案は?

0 投票する
4 に答える
13848 参照

resolution - H.264 MPEG-2 TS で解像度とフレームレートの値を見つける方法は?

H.264 ストリームを含む MPEG-2 TS ビデオに取り組んでおり、PAT、PMT、PES などをスキャンして、ストリームに保存されているビデオ プロパティを探しています。

PAT、PMT、およびエレメンタリ ストリーム タイプと PID を読み取ることができます。ここで、解像度とフレームレート (fps) を見つけたいと思います。それらは PES ヘッダーにありますか、それとも他の場所にありますか? それらは PAT または PMT にはありません。

以下では、トランスポート ストリーム パケット エディターは 2 つの異なる情報を見つけることができます。1 つはそれ自体、もう 1 つは Haali Media Decoder ヘルパー コーデックからです。最初のものを取得する方法:

ここに画像の説明を入力

擬似コードは歓迎されます。

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

android - Android PCM -> AAC = M4A 対 MPEG2-TS

生の AAC データを MPEG2-TS ストリームにパッケージ化するにはどうすればよいですか?

私は継続的に録音(マイク)し、Android内のPCMオーディオをAACに圧縮しています:

これにより生のヘッドレス AAC が生成されるため、各フレームに必要な MPEG ヘッダーも追加します。

これは正常に機能しており、作成された AAC ファイルを再生できます。VLC または Google Music Player で。

今私の質問:

WAV および MP3 ストリームで既に行っているように、エンコードされたデータを HTTP LIVE STREAM (HLS) として一部のレンダラーに送信したいと考えています。

しかし、Androidアプリに送信している場合、記録を中断してストリームをフラッシュ/終了するまで、ストリームの再生は開始されません。MP3 では問題ありません。数秒後に再生が開始されます。

Androidの「サポートされているメディア タイプ」ページに関して、HLS は、

HTTP/HTTPS ライブ ストリーミング ドラフト プロトコル: MPEG-2 TS メディア ファイルのみ

現在のように MPEG4 ストリームではなく、生の AAC ストリームを MPEG-2 TS ストリームにパッケージ化する方法を誰が教えてくれますか?

私はこの分野で初めてです。間違いを許してください。

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

ffmpeg - h.264 でアクセス ユニットを解析する方法

私は、4 つのアクセス ユニットを削除して残りのビデオを再生するなど、生のエレメンタリ ストリームのAccess units一部をカットする必要があるプロジェクトで作業しています。H.264

このため、Access unit DelimiterNAL Unit Type:9)を境界としてAccess Unitビデオをカットしましたが、ビデオはパケットロスで終了しました。しかし、境界としてSequence parameter set( NAL Unit type :7) を使用すると、結果のビデオはパケット損失なしで再生されます。
この問題を解決する方法を教えてください: ビデオをどこでカットしますか?

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

h.264 - Apple の HLS では、アクセス ユニットは PES パケット内でどのように調整されますか?

Apple はこれを指定していますか? PES パケットのペイロードにはいくつのアクセス ユニットを配置する必要がありますか?

また、PES パケットに存在するプレフィックス開始コード (存在する場合) を知りたいです。アクセス ユニット内の最初の NAL ユニットの前にあるものは役に立たないので、入れてはいけないと思います。右?

特にHLSでどのように行われるかを知りたいです-必ずしも他のMPEG-2 TSアプリケーションではありません。

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

mpeg2-ts - 複数の TS ファイルを正しいタイムスタンプで 1 つにマージする方法は?

複数の TS ファイルを正しいタイムスタンプを持つ 1 つの TS ファイルにマージする方法は? データに触れることなく、ファイルを 1 つにマージできます。これにより、再生可能なファイルが生成されますが、タイムスタンプが正しくないため、タイムラインが表示されません (たとえば、VLC で)。そのため、何らかの方法で gstreamer/ffmpeg またはそのためのコマンドライン ツールを使用してタイムスタンプを再計算し、不要な再エンコードを防ぐ必要があります。ありがとう!