問題タブ [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.
android - mpeg-ts プレーヤー用のサンプル ts ファイル
Eclipse で gstreamer を構成し、トランスポート ストリーム ファイルを受け入れるメディア プレーヤーを構築しました。テストのために、いくつかの ts ファイルをダウンロードしたいのですが、取得できません。http://www.w6rz.net/のリンクを既に試しましたが、フレーム レートが非常に高いため、オーディオとビデオが同期していません。何か案は?
gstreamer - TS ファイルの期間を計算する
ISDB-T オーディオとビデオを再生するメディア プレーヤー アプリケーションに取り組んでいます。デコードとレンダリングに GStreamer を使用しています。
AV Sync を完全に機能させるには、ファイルの読み取りを調整する必要があります。データが Gstreamer にプッシュされるのが速すぎたり遅すぎたりしないようにします。
複数の TS ファイルを使用してアプリケーションを検証する必要があるため、ユーティリティを使用して期間を計算できず、ファイルの読み取りを変更し続けることができないため、プログラムでこれをどのように実現できますか?
ありがとう、
クランティ
java - バイナリおよびテキスト データを Glassfish に転送する
ビデオやオーディオなどの大量のデータを Java ベースのクライアント (スタンドアロン アプリまたは Android) から Glassfish 3.1.2 アプリケーション サーバーに転送する必要があります。ストリームには、テキスト データとバイナリ データが含まれている必要があります。次のようなデータ自体を含む SOAP メッセージを考えています。
... そしてサーバー側 - データを処理するための Web サービス。これはこれを行うための正しいアプローチですか?
c - C で .ts ファイルを開き、ストリーム ファイルの内容を少しずつ読み取る
MPEG 2 トランスポート ストリーム ( .ts ) ファイルを C のバイナリ モードで開くことはできますか?? トランスポート ストリーム内のさまざまなテーブルを分析するために、ファイルの内容をビットごとに読み取る方法は?
tomcat - MIME TYPE として web.xml(Server) に ts(Transport Stream) を追加する方法
Spring mvc プロジェクトと Tomcat 7.0 を使用しています。
何らかの理由で、新しい MIME TYPE を web.xml に追加したいと考えています。
新しい MIME TYPE は .ts (TypeScript ではなくトランスポート ストリーム ファイル) です。
したがって、mp4 のすべての MIME 設定を複製し、"mp4" を "ts" に置き換えます。
しかし、「web.xml」にはmp4関連のものが多すぎます。
だから私は本当にイライラしました:(
トランスポート ストリーム ファイルを web.xml に追加する方法を教えていただければ幸いです。
事前に感謝します:D
c - MPEG-4 トランスポート ストリーム内の I フレーム データの検出
プロジェクトをテストしています。MPEG-4 ts パケットのペイロード データ (一部のバイトをゼロにする) を、ユーザーからのパーセンテージで分割する必要があります。「.ts」ファイルのパケットをパケット(188バイト)ごとに読み取ることでそれを行っています。しかし、ビデオはプロセスの後で本当に泥だらけに変化しています. (ちなみに私はC言語でプログラムを書いています)
そこで、I フレームに属するデータ/パケットを見つけ、それらに触れずに他のデータをパーセンテージでスクランブルすることにしました。私は以下を見つけることができました
(16 進数) 00 00 00 01 E0 ビデオ PES パケットの開始 .. .. 00 00 01 B8 グループ オブ ピクチャ ヘッダーの開始 .. .. 00 00 01 00 ピクチャ スタート コード。これは 32 ビットです。この直後の 10 ビットは、一時参照と呼ばれます。したがって、時間参照には、ピクチャ スタート コードに続くバイトと、ピクチャ スタート コードの後の 2 番目のバイトの最初の 2 ビット、つまり 1 バイト (8 ビット) + 2 ビットが含まれます。これらはスキップする必要があります。ここで、存在する 3 ビット (ピクチャ スタート コードからの 2 番目のバイトの 3、4、および 5 番目のビット) は、フレーム タイプ、つまり I、B、または P を示します。 0x38 と右シフト >> 3 で。
たとえば、データはそのようなものです。
00 00 01 00 00 0F FF F8 00 00 01 B5..........など。
ここで、最初の 4 バイト 00 00 01 00 はピクチャ スタート コードです。5 番目のバイトと 6 番目のバイトの最初の 2 ビットは、一時的な参照です。したがって、問題は 6 番目のバイトにあります --> 0F
フレーム タイプ = 1 ==> I フレーム
フレーム タイプ 000 禁止
フレームタイプ 001 イントラコード化 (I) - iframe
フレームタイプ 010 予測符号化 (P) - p フレーム
フレーム タイプ 011 双方向予測符号化 (B) - b フレーム
ただし、これは MPEG-2 用です。MPEG-4トランスポートストリーム(拡張子は「.ts」)のビット演算でフレームタイプを認識して取得するパターンはあるのでしょうか?
そして、そのフレームに属するバイト数またはパケット数を取得する必要がありますか?
助けてくれてどうもありがとう
android - H264 の MediaExtractor なしで MediaCodec を使用する方法
MediaExtractor なしで MediaCodec を使用する必要があり、FileInputStream を使用してファイルを読み取っています。現在、機能していません。画面に緑がかったスクランブル画像が表示されています。
これはソースコード全体です:
MediaExtractor を使用すると、すべて正常に動作します。MediaExtractor の使用時に MediaFormat を調べて、SPS/PPS 値を取得しました。以下のセクションを削除すると、画面には何も表示されません。
私は何が欠けていますか?MediaExtractor を使用せずにプログラムで SPS/PPS 値を取得するにはどうすればよいですか?
android - Chromecast H.264 トランスポート ストリーム
Chromecast が MPEG2-TS をサポートしていることを何度か (ここと Google キャストの問題で) 見てきました。誰かもっと詳しい情報を教えてください。
また、H.264 でエンコードされたストリームを保持する .ts ファイルを再生しようとすると、LOAD_METADATA_ERROR が発生します。動画はH.264/AACで、サンプルはgithubで提供されています(sample_media_receiver.htmlとCastVideos-android)。
ここhttp://commondatastorage.googleapis.com/cast-media-server-samples/media.zipから m2ts ファイルを再現しようとすると、同じことが起こります。
//update #01 2 つのトラックを持つ .ts ファイルを使用します: ファイルには 2 つのトラックがあります トラック 256 タイプ: ビデオ (H264) - プログラム 1 トラック 257 タイプ: オーディオ (MP4A) - lang und - プログラム 1
誰かが実際の URL の例を教えてくれませんか?