問題タブ [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.
video-streaming - m2ts ファイルで PCR PID を見つける方法は?
m2ts ファイルで PCR PID を知る必要があります。 次の手順を実行する必要があると思います。
- PID 0 の TS パケットを見つけます。これが PAT です。
- PAT を解析して、PMT の PID を取得します。
- PMT を解析して、PCR の PID を取得します。
しかし、私は最初と2番目のステップに問題があります。次の TS パケットを参照してください。
「47 40 00 13」は、バイナリで「0100 0111 0100 0000 0000 0000 0001 0011」です。
PID は 0x0000、Payload Unit Start Indicator フラグは 1、Contains Payload フラグは 1 です。
TS リーダーによると、このファイルの PMT PID は 0x1000 であることがわかっています。
しかし、このパケットには 10 00 バイトのペアが含まれていません。
PAT を使用して適切な TS パケットを選択しましたか? PATが何バイト目から始まるか教えてください。
ios - iOS 9 での HLS の H.265/HEVC サポート?
現在、HLS (HTTP ライブ ストリーミング) では、コンテンツがビデオ H.264 および/または AAC/MP3/サウンドである必要があります。
iOS 9 では、HLS の H.265/HEVC はサポートされていますか? そうでない場合、この制限を回避して H.265 でエンコードされた TS ファイルを使用する方法はありますか?
video - FPGA で CMOS ビデオをキャプチャし、エンコードしてイーサネット経由で送信
CMOS ビデオをキャプチャし、それをトランスポート ストリームにエンコードし、イーサネット経由でリモート PC に送信する Zynq Xilinx FPGA に基づいた学生向けのオープン ソース大学プロジェクトを計画しています。基本的に、私はさらに別の IP カメラを設計したいと考えています。FPGA の経験は豊富ですが、ビデオ データのエンコードと転送に関する知識が不足しています。これが私の計画です:
CMOS カメラを FPGA に接続し、ビデオ フレームを受信して外部 DDR メモリに保存し、HDMI 出力を使用して監視することを確認します。問題ありません。
たとえば、ビデオ ストリームを H.264 形式に圧縮し、トランスポート ストリームに入れる必要があることを理解しています。ここでは、知識がほとんどなく、いくつかのヒントが必要です。
トランスポート ストリームを形成したら、UDP パケットを使用してネットワーク経由で送信できます。FIFOからデータを読み取り、UDPパケットとしてリモートPCに送信するハードウェアソリューションが機能しています。
そして最後に、ffmpeg ライブラリを使用してビデオを受信して再生する予定です。
ffplay udp://localhost:5678
私の質問は基本的に2ステップに関するものです。ピクセル フレームをトランスポート ストリームに変換するにはどうすればよいですか? 私のオプションは次のとおりです。
- のような商用 IP を使用する
ここでは、それらが無料で使用できるとは思えず、資金もあまりありません。
次のようなオープンコアを使用します
- http://sourceforge.net/projects/hardh264/ - ここでコアは h264 出力のみを生成しますが、それをトランスポート ストリームにカプセル化する方法は?
- opencores.org を検索しましたが、このトピックでは成功しませんでした
- たぶん誰かがオープンソース関連の優れた FPGA プロジェクトを知っていますか?
Vivado HLS (C 言語) を使用してハードウェア エンコーダーを自作します。しかし、ここでアルゴリズムがわからないという問題があります。たぶん、ffmpeg または Cisco openh264 ライブラリをギグして、生のピクセル フレームを H.264 形式に変換してトランスポート ストリームに入れる機能を見つけることができますか? ここでも助けが必要です。
また、FPGA 内で生成する可能性のあるストリームと、ffplay ユーティリティによってホストで期待されるストリームのフォーマットの互換性についても心配しています。ヘルプ、ヒント、リンク、および書籍は高く評価されています。
gstreamer - 録画中の Gstreamer 字幕
私は GStreamer を初めて使用し、字幕ストリームを使用してビデオ ストリーム (現在は v4l2src) をエンコードし、MPEG ts コンテナーに多重化しようとしています。「textoverlay」を使用してデータを設定できますが、データを画像に焼き付けたくありません。ただし、字幕ストリームを使用して、ビデオの録画中に生成される「メタデータ」をエンコードしたいと考えています。
時間の経過とともに MPEG ts に字幕を追加する方法はありますか? 字幕テキストの内容は、移動カメラの gps 座標など、事前にはわかりません。
「subtitleoverlay」プラグインがありますが、私はこれを完全には理解していません。「textoverlay」のようにテキストを画像に焼き付けますか、それとも別のストリームを追加しますか?
http-live-streaming - HLS ストリーム (m3u8) から ts セグメントの最初のフレームを抽出する
ts セグメントから最初の video_frame(image) を抽出したい。私のマニフェスト ファイルに m3u8 iframe タグが来ていません。完全な ts セグメントをダウンロードせずに最初の video_frame(image) を抽出する方法を誰でも提案できますか。
h.264 - 「0x00 0x00 0x00 0x01 0x65」のない H.264 ペイロード
次を検索して、TS の I フレームを検出しようとしています。
ただし、一部のストリームでは機能しません。一部のストリームでは、このシーケンスは非常にまれにしか発生しません。I フレームを検出する他の方法はありますか?
編集:TSをファイルに保存してから、H.264ペイロードを抽出することも試みました。抽出されたペイロードには、少数の 0x00 0x00 0x00 0x01 0x65 バイト シーケンスのみが含まれています。