問題タブ [transport-stream]

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

video - ストリーム内の位置に基づいて PTS をパケットに割り当てる

ビデオとメタデータ ストリームを含む TS があります。ビデオには PTS 値が正しく設定されていますが、メタデータには設定されていません (ffprobe はそれぞれに N/A を返します)。ただし、メタデータ パケットはストリーム内で正しく配置されます。

ストリーム内の位置に基づいて、メタデータ パケットに PTS を割り当てる方法はありますか。PTS が最後のビデオ フレームと次のビデオ フレームの間のどこかにある限り、正確な精度は重要ではありません。最後の手段として、それを行うにはいくつかの C コードを作成する必要がありますが、ffmpeg フロントエンドがそれを実行できるかどうかを確認したかったのです。

あるストリームを他のストリームに対してオフセットする必要があり、「-itsoffset」が機能していないように見えるため、これを行う必要があります。これは、PTS が不足しているためです。

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

ffmpeg - タイムスタンプが不明なパケットを書き込めません av_interleaved_write_frame(): 引数が無効です

この出力で .ts ファイルを mkv に変換しようとしています:

そのために、次のコマンドを使用しています。

しかし、変換は次のエラーで失敗します:

これを修正するにはどうすればよいですか? 最初に追加しようとしまし-fflags +genptsたが、とにかく失敗します。

編集:代わりに MKVToolNix を使用して解決しました。

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

python - PythonでMPEGトランスポートストリーム(バイナリファイル)のPID値をすばやく読み取る

私は大きな MPEG (.ts) バイナリ ファイルを持っています。通常は 188 バイトの倍数です。python3 を使用します。毎回 188 バイトを読み取り、解析して必要な値を取得すると、非常に遅いことがわかりました。PID (バイナリ データ) の値を取得するには、188 バイトのパケットごとにトラバースする必要があります。

  • 同時に、MPEG オフライン プロフェッショナル アナライザーを使用すると、すべての PID 値とその合計カウントのリストが、5 分間の TS ファイルで 45 秒以内に取得されます。
  • c や c++ で書かれているかもしれませんが、どれだけ早く見つけられるかわかりません。
  • python multiprocessing を試しましたが、あまり役に立ちません。これは、188 バイトのデータを解析して処理する私の方法が適切でなく、大きな遅延を引き起こしていることを意味します。

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

ffmpeg - FFMPEG を使用したデータ ストリームのダウンサンプリング / フィルタリング

.tsビデオ ストリームと MISB 0604 準拠の KLV データ ストリームを含む入力ファイルがあります。ffprobeこれらのストリームの出力は次のとおりです。

ビデオの N 番目ごとのフレームを として抽出したいと考えてい.tiffます。また、これらの各フレームを、MISB 0604 準拠のデータ ストリームからの対応する KLV パケットに関連付ける必要があります。

フィルタを選択し、元の FPS を対応する比率で調整する次のコマンドは、予想されるフレームが TIFF として保存される結果になります (この場合、元のビデオには 1187 フレームがあり、選択したフィルタから 12 フレームを取得すると予想されます)。

ただし、データ ストリームでフィルターを動作させることができないようです。たとえば、 usingfilter:dはエラーをスローしませんが、実際にはフィルタリングしていないようです。私の質問はffmpeg、上記のビデオ ストリームで実行されたダウンサンプリング操作に対応する「ダウンサンプリングされた」データ ストリームを保存するために使用できるかどうかです。