問題タブ [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 投票する
3 に答える
5644 参照

android - MPEG-2TS出力およびACCオーディオエンコーディング形式でビデオを録画する方法

ビデオフォーマットMPEG-2(定数値8)TSとオーディオフォーマットACC(定数値3)を設定すると、ACCフォーマットでオーディオなしでビデオのみが記録されます。ただし、エラーは発生しません。Samsung Galaxy Tab(Honeycomb)で試してみました。MPEG-2TSはAndroidバージョン3.0以降でサポートされているためです。デフォルトのビデオおよびオーディオ形式を使用すると、正常に機能します。これどうやってするの。助けてください。

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

ffmpeg - MPEG2 トランスポート ストリームでの H.264 ストリーム可変フレームレートのカプセル化

H.264 AnxB フレームがリアルタイムの会話から入ってくると想像してください。後続の再生のタイミング情報を維持しながら、MPEG2 トランスポート ストリームにカプセル化する最良の方法は何ですか?

libavcodec および libavformat ライブラリを使用しています。AVCodecContext 型のオブジェクト (*pcc) へのポインタを取得したら、foll を設定します。

NAL ユニットを受信したら、AVPacket を作成し、av_interleaved_write_frame() を呼び出します。

基本的に2つの質問があります:

1) 可変フレームレートの場合、フォールを指定しない方法はありますか? pcc->time_base.num = 1; pcc->time_base.den = fps; 可変フレームレートを示すものに置き換えますか?

2) パケットを送信する際、pkt.dts と pkt.pts にどの「タイムスタンプ」を割り当てるべきですか?

現在、ffplay を使用して出力を再生すると、上記のコードで使用する一定のフレームレート (fps) で再生されます。

また、さまざまな空間解像度に対応する方法を知りたいです。私が受信したストリームでは、各キーフレームの前に SPS と PPS があります。空間解像度が変わるときはいつでも知っています。pcc->width = 640; を指定する必要がない方法はありますか? pcc->高さ = 480; 前もって?つまり、空間解像度がストリームの途中で変化する可能性があることを示します。

どうもありがとう、エディ

0 投票する
3 に答える
5261 参照

audio - MPEG-TS への多重化: オーディオ ストリームのパラメータが正しくありません

ffmpeg を使用して、ビデオ (H.264) とオーディオ (PCM_S16LE、圧縮なし) を MPEG トランスポート ストリームに多重化しようとしています。ビデオは問題なく表示されます。ただし、オーディオ ストリームは再生されません。ffprobe によって表示されるオーディオ ストリームは AAC ですが、これは明らかに私の意図ではありません。したがって、オーディオストリームを追加する際に何か間違ったことをしているに違いありません。これを修正する方法はありますか?

これは、オーディオ ストリームを追加するための私のコードです。

ffprobe の出力は次のとおりです。

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

ffmpeg - UDP 経由で MPEGTS ストリームを送信する方法

私は、基本的にサーバーといくつかのクライアントで構成されるリアルタイムビデオストリーミングシステムを開発しています。

ここでは、サーバーとクライアントの間でパケットがどのように転送されるかは無視して、サーバーが UDP パケットを介して MPEGTS ストリームを送信する方法だけに注目しましょう。

ストリームは MPEGTS 形式でエンコードされます。

私がやろうとしているのは、いくつかのパケットを読み取り (主な質問は「いくつですか?」)、それらを UDP パケットにカプセル化することです。宛先 (クライアント) はこれらの UDP パケットを読み取り、UDP パケットを読み取ることによって MPEGTS ネットワーク ストリームを再生できる VLC に転送します。

ビデオ パケットのみを送信すると、すべて正常に動作しますが、代わりに、一部のビデオ パケットと一部のオーディオ パケットの両方を同じ UDP パケットにカプセル化しようとすると、VLC はストリームをデコードして再生できません。各 UDP パケットに 7 つの TS パケットを含める必要があることをどこかで読みましたが、残念ながら、このルールに準拠していても、VLC はストリームを正しくデコードしません。

これが私のプログラムのサンプルコードです: http://pastebin.com/evMi6FkY

MPEGTS パケットを UDP パケットにカプセル化するにはどうすればよいですか?

ありがとう!

0 投票する
0 に答える
2467 参照

objective-c - AVAsset を使用して .ts ファイルを再生しますか? -> メディア形式がサポートされていません

私は大学の最後のプロジェクトに取り組んでおり、HTTP ライブ ストリーミング プロトコルがどのように機能するかを示す iOS 5 用のアプリケーションを開発しています。

アプリケーションは、再生するさまざまな HLS ソースのリストを取得します。これらは、iOS の内部メカニズムを使用してプレーヤーにすることができます。m3u8 を MPMoviePlayerViewController に直接渡すか、プロトコルを段階的に実行する開発中の独自のプレーヤーを使用します。

アイデアは、.ts ファイルをダウンロードし、現時点でのダウンロード速度に応じて正しいストリームを選択する方法をデモストレーションすることです。

最初のオプションである簡単なオプションは、完全に機能します。MPMoviePlayerViewController が作業を行います。しかし、自分のプレーヤーを使用するときは .ts ファイルをダウンロードしますが、AVAsset で使用しようとすると、メディア形式がサポートされていないと表示されます。どうすれば起こりますか?システムが .m3u8 ファイルを処理できる場合、システムが .ts ファイルを再生できることを意味します。

助けてください。または解決策を教えてください。

ありがとう。

同様の質問があります: AVFoundation に強制的にローカルの .ts ファイルを再生させることはできますか? しかし、まだ答えはありません。

PD: 私の下手な英語を許してください。あなたが私を理解してくれることを願っています。私はスペイン出身で、英語を上達させなければなりません。

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

android - Windows Media Player では、Android で作成された MPEG-TS ファイルを再生できません。

StageFright レコード サンプル (frameworks/base/cmds/stagefright/record) をテストして、mpeg2 TS ファイルを作成しました。Android のデフォルトの Media Player では再生できますが、Windows Media Player や MPlayer では再生できません。助言がありますか?

元のレコード サンプル ソースを変更して、MP4 ファイルではなく MPEG-TS ファイルを作成したことに注意してください。

0 投票する
0 に答える
1567 参照

c++ - libavはmpegtsを介してrtmpサーバーにh264をストリーミングします

h264をmpegts経由でrtmpサーバー(FMS、C ++ RTMPサーバー、Wowza)にストリーミングしたいアプリケーションに取り組んでいます。libavのoutput-example.cを見ています。シンプルにするために、今のところすべてのオーディオを削除しました。

私はこのコードをテストとして使用しています(機能していません): https ://gist.github.com/fb450aee77471a1d86f3#comments

私はそこで何が間違っているのですか?

ありがとう

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

http-live-streaming - Http LiveStreamingtsセグメントがキーフレームで始まらない

私はアップルのhttpライブストリーミングを使用してipad/iphoneにライブビデオをストリーミングすることに取り組んでいます。この重要なステップの1つは、プレイリストとともにトランスポートストリームを複数のtsセグメントにセグメント化することです。Appleのドキュメントによると、推奨されるtsセグメントの継続時間は10秒です。ただし、継続時間が長いほどレイテンシが長くなるため、この期間を2秒または1秒に短縮しようとしています。

Appleのドキュメントでは、キーフレームの境界間でセグメンテーションを実行する必要もあります。つまり、各tsセグメントはキーフレームで開始する必要があるため、独立して再生できます。ここに矛盾する部分があります。これはほとんど不可能であり、トランスポートストリームが1〜2秒ごとにキーフレームを持つことも無駄になります。だから私の質問は、tsセグメントがキーフレームで始まらない場合でもhttpライブストリーミングは機能しますか?

0 投票する
3 に答える
51917 参照

mp4 - mp4 と mpegts の違いは何ですか?

最近、ファイル形式を mp4 に変換してストリーミングする作業がありました。トランスコードツールとして ffmpeg を使用しました。MP4 ファイルは http プロトコル経由でストリーミングされません [ph​​p cgi ラッパーを使用しました] が、出力形式が mpegts に変更され、ストリーミングが発生し、正常に動作します。ネットhttp://wiki.videolan.org/MPEGでのクイック検索は 関連しており、mp4 ファイルのストリーミングに mpegts を使用するようアドバイスしています。これら 2 つの形式、それぞれの利点と違いについて、さらに洞察が必要です。

ありがとう、ピーター

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

windows - How to receive the same udp-stream in several programs?

I have a closed third party system that sends a unicast UDP stream (MPEG-TS) that I'd like to access in two different programs on the same computer. I can not change anything on the source, not even IP or Port.

Is there any other option than to write my own little program that captures the stream and then creates to new streams and resends both?

It seems that only one of the two destination programs handles multicast, so I need two unicast streams.