タグ

rtpに関するi_matsuiのブックマーク (20)

  • MPEG-2 TSファイル処理 -TSヘッダのダンプ- - Qiita

    はじめに 前回はとりあえずMPEG-2 TSから1つのTSパケットを取り出し、それを1行でダンプしてみました。TSパケットを解析する場合、次にTSヘッダを解析します。TSパケットは大きく分けるとTSヘッダとペイロードの2つで構成されています。 下図の「header」と「payload」が該当します。 ISO/IEC 13818-1 より引用 「Transport Stream syntax diagram」 TSヘッダは通常4バイトになり、残りがペイロードとなります。ただし、adaptation fieldがある場合、4バイト+adaptation field長となります。 TSヘッダについて TSヘッダに記述されているデータについては先ほどの図にあるようにsync byteからadaptation fieldとなります。 私がTSパケットを解析する際はsync byte(0x47)を始め

    MPEG-2 TSファイル処理 -TSヘッダのダンプ- - Qiita
  • WebRTCにおけるNAT越えの課題へのアプローチ - Qiita

    WebRTCは、音声映像メディアやデータをP2Pで通信する能力をブラウザに提供します。しかし、既存のインターネットの世界ではNATが広く用いられており、容易にP2Pを利用することはできません。この記事では、NATに対してどのような課題がWebRTCに存在し、どのようなアプローチで解決を試みているかについて解説します。 インターネットの世界におけるNATの存在 今日のインターネットにおいて、エンドユーザが用いるホストのほとんどは何らかのNATデバイスの配下に設置されています。これはWebに携わるエンジニアの間では広く知られている事実でしょう。全世界に広がった広大なインターネットの世界に対応するためにIPv6が新たなインターネットプロトコルとして発案されてかなりの時刻が経過しました。にもかかわらず、古いインターネットプロトコルであるIPv4が一般的に用いられており、しかもそのアドレスは既にとっ

    WebRTCにおけるNAT越えの課題へのアプローチ - Qiita
  • 何を、なぜ、どのように

    何を、なぜ、どのように #WebRTCとは? #WebRTC とは、Web Real-Time Communication の略で、API であると同時にプロトコルでもあります。WebRTC プロトコルは、2 つの WebRTC エージェントが双方向の安全なリアルタイム通信をネゴシエートするための一連のルールです。WebRTC API は、開発者が WebRTC プロトコルを使用するためのものです。WebRTC API は、JavaScript のみで規定されています。 似たような関係として、HTTP と fetch API があります。プロトコルとしての WebRTC が HTTP で、API としての WebRTC が fetch API となります。 WebRTC プロトコルは、JavaScript 以外の API/言語でも利用可能です。また、WebRTC 用のサーバーやドメイン固有

  • WebRTCで音声コーデックを変更した時の影響について色々調べてみた - Qiita

    はじめに WebRTCでは一般的にOpusという音声コーデックが利用されますが、他の音声コーデックも利用可能です。この記事では、WebRTCで利用可能な音声コーデックの特徴などをまとめていきます。取り留めの無い内容になっていますがご容赦ください…。 2019.11現在 libwebrtc で利用可能な音声コーデック Chrome M78のSDPの情報から以下のコーデックが利用可能というのがわかります。 a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/

    WebRTCで音声コーデックを変更した時の影響について色々調べてみた - Qiita
  • https://dspace.jaist.ac.jp/dspace/bitstream/10119/1806/2/2300paper.pdf

  • IP電話とは - RTPとは

    ◆ デジタル化 → IPパケット化 前回の解説でアナログ信号である音声をデジタル化しましたが、IP電話ではこのデジタルデータをもとにし RTPパケットを構成(音声をIPパケット化)して、IPネットワークに音声を送出していくことになります。 なお、遅延防止のために一般的に音声をパケットに変換する周期を20~60ミリ秒に固定します。パケット化 周期を長くすれば転送効率が良くなりますが、その分遅延が大きくなってしまうため、この値が適正値です。 ◆ RTP(Real-time Transport Protocol) アナログの音声からデジタル化されたデータをIPで送信するためには、RTPというプロトコルを使用します。 RTPは音声や映像をストリーミング再生するためのUDP上で動作するプロトコルです。フォーマットは以下。

  • RTPについて | 日本キャステム株式会社

    VoIPでは符号化した音声データの伝送を行うためにRTP(Real-time Transport Protocol:リアルタイム転送プロトコル)を使用します。 RTPの特徴 一般的なRTPパケットの構造を(図6)に示します。 RTPの大きな目的は符号データのフレーミング(パケット化)を行い,RTPヘッダのシーケンス番号とタイムスタンプ情報を利用することにより, 送信側のパケット送出タイミングを受信側でも復元できるようにすることです。 伝送データのフレーミングを行うという点ではトランスポート層に近い役割を果たしますが, 効率良くリアルタイム制御を行うためにアプリケーション層で直接フレーミングを行います。 最適なフレーミング方法は符号データごとに異なりますので,RTPでは詳細な仕様を定義していません。 符号データごとの具体的なフレーミング方法,すなわちRTPパケットのフォーマットはIETFから

  • WebRTCの多重化の現状・未来について - Qiita

    記事は、2017年WebRTCアドベントカレンダー3日目の記事です。 WebRTCの通信で使われる技術の1つである、多重化について簡単に解説してみます。完全な初心者向け記事ではなく、WebRTCで使われるプロトコルについて、少しだけ勉強したことがある人向けです。 WebRTCにおける多重化とは WebRTCの通信では、音声・映像・データなどの複数種類のメディアが、1つのトランスポートアドレス1で送受信されます。もともとWebRTCで用いるプロトコル(たとえばRTP)は、多重化はポート番号によって実現するものが多かったのですが、複数のポートを使うとP2Pの接続成功率が落ちる・ネットワーク経路上の装置の負荷が高い、などの理由から極力、1つのトランスポートアドレスに多重化されるようになっています。 実際に、P2P通信を実施した場合に、On the wireで流れているペイロードは、以下に示すよ

    WebRTCの多重化の現状・未来について - Qiita
  • WebRTCにて(S)RTCPが必要な理由

    This post is a No.12 article of WebRTC Advent Calendar 2014 この記事は、WebRTC 2014 アドベントカレンダーの12日目の記事です。 TL;DR RTCPで通信状況(統計情報)を送受信側で伝え合って、音声・映像の品質にフィードバック 特にWebRTCでは、RTCPを暗号化したSRTCPを利用 はじめに WebRTC Meetup Tokyo #3で、WebRTCを支えているプロトコルについて、簡単なLTをしました。 LTの中でDTLS、RTP、SCTPについて喋ったのですが、LTという時間の都合上、説明を端折ったところがあるので、記事ではその補足をします。 ちなみに、資料は以下にあります: RTPは再送を諦めているだけじゃない Slide27枚目で、パケットロスが起きた場合の対応として、「再送をGiveUp」すると説明して

    WebRTCにて(S)RTCPが必要な理由
  • 15群(○○○)-8編

    電子情報通信学会『知識の森』 (http://www.ieice-hbkb.org/) 3 群-4 編-5 章 ■3 群(コンピュータネットワーク)-4 編(トランスポートサービス) 5 章 RTP と RTCP (執筆者:加藤 寧,西山大樹)[2013 年 6 月 受領] ■概要■ インターネットに代表される IP ネットワークでは,パケットの欠落,重複,破損,遅延, 到着順の変化といった事象が発生する. このような IP ネットワークにおいてリアルタイムメ ディア転送を実現するためには,従来の TCP や UDP では不十分であり,RTP(Real-time Transport Protocol) /RTCP (RTP Control Protocol) が必要になる. RTP/RTCP は, ALF (Application Level Framing)と E2E(End-to-En

  • RTPを少し調べた • masu-mi's blog(dirty pages)

    GoRTPのサンプルコードを使って中身に目を通しつつ仕様を勉強してみた。 調べた直接のきっかけは転職活動だけど、もともと負荷分散とか低レイテンシ化が好きだ。 とりあえず 実験: まず馴染みのあるGoでパケットを流してみてWiresharkで確認する 資料となるRFC(一次資料とInformation) 概要や用語 応用されたプロトコルの紹介 という流れで書く。 実験: Wiresharkで確認する 検索して一番上に来ていたGoRTPを使った。 サンプルコードから読み始めるのが早い。 使ってキャプチャすると下のようになる。

    RTPを少し調べた • masu-mi's blog(dirty pages)
  • Confluence モバイル - テレビ会議教科書

  • パケット音声ネットワークでのジッタについて(Cisco IOS プラットフォーム)

    概要 このドキュメントでは、ジッターについて解説し、ジッターを測定して補正する方法を説明します。 前提条件 要件 このドキュメントの読者は次のトピックについての専門知識を有している必要があります。 基的な Cisco IOS® 音声設定 Quality of Service(QoS)の基礎知識 使用するコンポーネント このドキュメントの情報は、Cisco IOS 音声ゲートウェイおよびルータに適用されます。 このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。 表記法 ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を

    パケット音声ネットワークでのジッタについて(Cisco IOS プラットフォーム)
  • Adroid の Camera2 API と MediaCodec を使って カメラの画像を RTSP で配信する - Qiita

    Adroid の Camera2 API と MediaCodec を使って カメラの画像をH264形式で転送する の続きです。 概要 前回の記事では、カメラの画像をH264形式で転送した。 今回は、下図のように Android 端末を サーバーにして、RTSP で配信する。 クライアントアプリとしてVLC を使用する。 VLCは、フリーなマルチプラットフォーム対応のマルチメディアプレイヤーです。 参考 VLC RTSP (Real Time Streaming Protocol) は、リアルタイムデータの配信を制御するためのプロトコルです。 リアルタイムデータ自体の配信は RTP (Real-time Transport Protocol) が使用される。 wikipedia : RTSP wikipedia : RTP アプリは大きくRTSPサーバーとRTP配信の2つのブロックに分かれ

    Adroid の Camera2 API と MediaCodec を使って カメラの画像を RTSP で配信する - Qiita
  • WebRTCで統計情報を収集する - Qiita

    統計情報とは? WebRTCでは、基盤となるネットワーク環境や送受信されるメディアの情報を監視することが出来るようにように、統計情報のAPIが規定されています。 最新の仕様書は https://w3c.github.io/webrtc-stats/ です。 このAPIで取得可能な情報は、WebRTCを使ってアプリケーションを開発したことがある方なら、一度はお世話になっているであろう、chrome://webrtc-internlsやabout:webrtcで表示される情報と同じ物となります。 注意: 記事中で、SkyWayのJavaScript SDKを利用して統計情報を収集していますが、こちらは非公式な方法となります。そのため、この方法は将来変更される可能性があります SkyWay JavaScript SDK v1.4.0からRTCPeerConnectionを取得するAPIが追加され

    WebRTCで統計情報を収集する - Qiita
  • AndroidにUSBでカメラを繋ぎた〜い(^o^)/〜その1 | 車輪の再発見みたいな?

    人と技術のすきまに

    AndroidにUSBでカメラを繋ぎた〜い(^o^)/〜その1 | 車輪の再発見みたいな?
  • Geekなぺーじ : TCP vs RTP:何故RTPが必要なのか?

    インターネットを流れるトラフィックのほとんどがTCP(Trasmission Control Protocol)によるものです。 TCPは、全てのデータが正しく相手に伝わることを保証するため品質の高いデータ通信が実現できます。 また、どのパケットが受け取れなくて、どれが受け取れたかなどをわざわざ考えなくても良いので、プログラムを書くのも簡単です。 では、何故、わざわざRTPというものが必要だったのでしょうか? ここでは、まず最初に何故RTPはTCPではなく、UDPの上に存在しているのかを説明したいと思います。 (もちろん、TCPの上に作ることはRTPの規約上は可能ですが、現実的にはUDPの上でしか実装がないと思います。) その後、何故、UDPの上に共通のRTPというものを構築したのかを説明したいと思います。 RTPは、名前にもある通り、「リアルタイム」なデータを転送するためのプロトコルです

  • GStreamer on macOS ではじめる動画処理【video編】 | Developers.IO

    マルチメディアフレームワーク GStreamer を、コマンドライン限定で触ってみました。 ちょっとした加工やエンコードなど、手軽にできる環境が手に入りました。 よく訓練されたアップル信者、都元です。 動画は YouTube で見たり携帯で撮ったりはすれども、あまり技術的に「処理」したことがありませんでした。 そのため、CODEC (encoder + decoder) やファイルフォーマット、フレームレートの話などの話は 正直詳くはわからないままではあるのですが、GStreamer というソフトウェアを使って簡単に遊べる、ということを知り、触ってみました。 ちなみに「動画」というと、純粋な video (映像) のことなのか、audio (音声) とセットにして扱ったものなのか、 という解釈に曖昧さがあるような気がします。一応エントリーでは用語を次のように整理しておきます。 (これが一

    GStreamer on macOS ではじめる動画処理【video編】 | Developers.IO
  • WebRTCハンズオン 概要編 - Qiita

    Mac OS X / iOS のSafariは、2017秋のSafari 11から対応(H.264のみ)。(What's new in Safari) promiseベースの新しいAPIのみ対応 カメラ/マイクへのアクセスにはhttps:// 必須。Mac OS X の場合は開発者メニューから http://を使えるようにできる Edge:ORTCに対応、WebRTCにCreators Update(2017.04.11)で対応(参考記事)。STUN利用やDataChannelには未対応 ?:iOS / Android 向けEdgeのリリース予告あり。対応状況未確認 ×: IEはサードパーティプラグイン有 誰が決めているの? API ... W3C ブラウザからどうやって使うか アーキテクチャ、通信の仕様 ... IETF 映像、音声のコーデック(圧縮方式) 実際のデータの送り方(プロ

    WebRTCハンズオン 概要編 - Qiita
  • RTPはUDP上で動作する!5つの仕組み解説や活用事例を紹介 | テックマガジン from FEnetインフラ

    RTPとはどんなプロトコル? RTPとはリアルタイムトランスポートプロトコルの略称で、インターネット上で音声や動画をリアルタイムに転送するため、RTSPやH.323の通信プロトコルのデータ部分に使用されます。これまでのTCPベースの仕組みは品質を確保するため、転送結果を確認し、エラーなら再送します。再送が行われると、通信が止まってしまうので、リアルタイムのデータを送ることはできません。RTPは、送信エラーが発生しても、リアルタイムでデータを送り続けるための仕組みです。 RTPの仕組み5つ 通常、インターネットではTCPというプロトコルでデータが転送されていますが、TCPはデータの品質を確保するため、リアルタイムのデータ転送ができず、また1対1の通信しかできません。プロトコルとは、コンピューター間の通信をする際の手順や規格です。RTPでは、データの品質を二の次として、リアルタイムにブロードキ

    RTPはUDP上で動作する!5つの仕組み解説や活用事例を紹介 | テックマガジン from FEnetインフラ
  • 1