GStreamerは、オープンソースライブラリであり、多数のGNU / Linuxオペレーティングシステム、Android、OpenBSD、Mac OS X、Microsoft Windows、Symbian OSなどのマルチメディアフレームワークとして機能する複雑なソフトウェアです。
機能の概要
主な機能には、包括的なコアライブラリ、インテリジェントなプラグインアーキテクチャ、マルチメディア技術の拡張された広範な開発ツールが含まれているので、アプリケーションでのGStreamerのサポートを簡単に追加できます。
GNOMEデスクトップ環境のTotem(ビデオ)や複雑なビデオ/オーディオエディタなど、オーディオやビデオの再生アプリケーションから激怒している、幅広いオープンソースプロジェクトの主なマルチメディアバックエンドです。
さらに、このソフトウェアは、非常に軽量なデータパッシング技術と、クロッキングによるグローバルストリーム間(オーディオ/ビデオ)同期のおかげで、非常に高性能で低レイテンシです。
複数のコーデックパックで構成
このプロジェクトはいくつかの異なるパッケージ(コードパックとも呼ばれます)で構成されています。これらのパッケージは、GNU / Linuxディストリビューションにデフォルトのソフトウェアリポジトリから一度に、または別々に簡単にインストールできます。それらは以下の通りです:GStreamer Plugins Base、GStreamer Plugins Good、GStreamer Plugins Bad、そしてGStreamer Plugins Ugly。
GStreamerは、オブジェクト指向設計と継承のために使用できるGLib 2.0オブジェクトモデルライブラリに基づいて、グラフベースの構造によりランダムなピッドライン構造を可能にするコンパクトなコアライブラリです。
QoS(Quality of Service)技術を採用
高いCPU負荷で最高のオーディオおよびビデオ品質を保証するために、このプロジェクトはQoS(Quality of Service)技術を使用しています。さらに、マルチスレッドパイプラインの透過的かつ簡単な構築を提供します。
シンプルで安定したクリーンなAPI(Application Programming Interface)により、開発者はアプリケーションに簡単に統合し、デフォルト機能を拡張するプラグインを作成することができます。また、フル機能のデバッグシステムを提供します。
結論
結論として、GStreamerは、オープンソースのエコシステムのための非常に強力で高く評価されたマルチメディアフレームワークであり、GNU / Linuxユーザーにメディアの再生と処理のための幅広いオーディオとビデオのコーデックを提供します。
Bugfixリリース。
バージョン1.14.1の新機能:
Bugfixリリース。
バージョンの新機能:
このリリースにはバグフィックスのみが含まれており、1.8.0からのアップデートは安全です。
バージョン1.8.2の新機能:
このリリースにはバグフィックスのみが含まれており、1.8.0からのアップデートは安全です。
バージョン1.8.0の新機能:
Androidでのハードウェアアクセラレーションによるゼロコピービデオのデコード
android.hardware.Camera APIを使用してAndroid用の新しいビデオキャプチャソース
Windows Media逆再生のサポート(ASF / WMV / WMA)
より高度なデバッグツールをサポートする新しいトレースシステム
新しい高レベルGstPlayer再生の便利なAPI
新しいVulkan APIの初期サポートについては、Matthew Watersのブログ記事を参照してください。
改善されたOpusオーディオコーデックのサポート:2つ以上のチャンネルのサポート。 MPEG-TS demuxer / muxerでOpusを処理できるようになりました。 Ogg、Matroska、ISOBMFF(Quicktime / MP4)、およびコンテナとしてのMPEG-TSによるサンプル精度の正確なエンコード/デコード/トランスミックス。 Opusヘッダー用の新しいコーデックユーティリティー関数と、pbutilsライブラリーで扱うキャップ。 Opusのエンコーダ/デコーダ要素もgst-plugins-base(-badから)に移動し、opus RTP depayloader / payloaderを-goodに移動しました。
GStreamer VAAPIモジュールがGStreamerプロジェクトの一部としてリリースされ、維持されました
GStreamer編集サービスにおける資産プロキシサポート
バージョン1.6.3の新機能:
GLライブラリの回帰を修正し、glimagesinkをAndroidでunsableにしました
バッファリングを中断させる可能性のあるqueue2要素の整数算術オーバーフローまたはNULLポインタの逆参照によるクラッシュを引き起こす
利用可能なメモリよりも多くのメモリを読み込んだために発生したAAC / ADTSタイプファインダのクラッシュを修正しました。
VP8 / VP9エンコーダのエンコーダエラーの無視を停止する
GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPEDを非難してください。それは削減され、実際に実装されたことはありませんでした
GstVideoBufferPoolに正しいビデオ情報を保存するようにします
インターリーブされたTCP上でSRTPを実行しているときのrtspsrcの上限を修正
0サイズのパケットのpcapパーサのクラッシュを修正
appsrcのEOSフラグをクリアして、EOSとフラッシング後に再利用できるようにする
ストリームスイッチ中にstreamsynchronizerでストリームをフラッシュしないようにして、gst-editing-servicesでこれによって引き起こされる問題を修正してください
"データ>タグの後にWAVファイルのタグと他のメタデータを無視します。それらがオーディオとして解釈されないようにPUSHモードのチャンク
v4l2の測色をYUVカラーフォーマットでのみ正しく使用する
MPEG TSマルチプレクサの予約ビットを1に設定
SBCフレーム長の計算を修正しました
バッファごとに1つのフレームを持ち、不完全なフレームのOpenJPEGデコーダをクラッシュさせるように、RTP JPEG2000デパイローダの出力を修正しました
gst-libavのffmpegスナップショットを2.8.5に更新
scaletempo、生のビデオRTPデイロード、およびオーディオ/ビデオフィルタに関連するプレイリンクでのメモリリークの修正
OSXオーディオプラグインでのエラー処理の修正
さまざまなオブジェクトイントロスペクションアノテーションの修正と追加
最新のclangコンパイラのためのコンパイラの警告修正
バージョン1.6.1の新機能:
gst-libavエンコーダのクラッシュが修正されました
より多くのDASH-IFテストストリームが動作しています
ライブDASH、HLS、およびMS SmoothStreamingストリームは、適応型ストリーミングプロトコルの信頼性の高いその他の修正を行います
逆再生はスケートポンプで動作し、オーディオピッチを維持します
負のapplied_rateに対して正しいストリーム時間が報告されています
デコード中のSRTPパケット検証は、もはや有効なパケットを拒否しません
オーディオアグリゲータとアグリゲータが適切なタイミングで出力を生成するように修正しました。初めにたくさんの無音を出さない
gst-libavの内部ffmpegスナップショットが2.8.1に更新されました
cerberoはMac OS X 10.11(El Capitan)をサポートしています。
さまざまなメモリリークが修正されました。これには、プレイビン、playinkおよびdecodebinの大きなリーク
バインディングのさまざまなGObject-Introspectionアノテーションの修正
そして多くの、もっと多くの
バージョン1.6.0の新機能:
ステレオスコピック3Dおよびマルチビュービデオのサポート
キーフレームのみ早送り/早戻し再生などのためのトリックモードAPI
DTS(復号タイムスタンプ)対ネガティブDTSを考慮したPTS(プレゼンテーションタイムスタンプ)処理の改善
サポートされているすべてのフォーマット間での生のビデオフレームのより最適化された、より正確な変換のための新しいGstVideoConverter API、リスケール
v4l2srcが再ネゴシエーションをサポートするようになりました
v4l2transformはスケーリングを実行できるようになりました
V4L2要素が測色を正しく報告するようになりました
MP4、Matroska、Ogg、MPEG-TSの簡単なチャンク録画:新しいsplitmuxsinkとmultifilesinkの改善
DASH / MP4のコンテンツ保護シグナリングAPIと共通暗号化(CENC)サポート
多くの適応型ストリーミング(DASH、HLS、およびMSS)の改善
新しいPTPおよびNTPネットワーククライアントクロックとより良いリモートクロックトラッキングの安定性
glimagesinkまたはgtkglsinkによる表示解像度での高品質のテキストサブタイトルオーバーレイ
GStreamer RTSPサーバーのRECORDサポート
RTSPサーバーおよびクライアントでの再送信(RTX)サポート
クライアントとサーバーのサポートを求めるRTSPが修正されました
RTCPスケジューリングの改善と縮小されたRTCPサポート
アグリゲーター、オーディオミキサー、コンポジターのライブミキシングサポートが大幅に改善されました
コンポーザーは入力ストリームの再スケーリングをオンザフライでサポートしています
適切な入力同期とライブ入力をサポートする新しいオーディオインターリーブ要素
Blackmagic Design DeckLinkのキャプチャと再生カードのサポートは一から書き直されました。 2k / 4kサポート。モード検出
RTPおよびMPEG-TSにおけるKLVメタデータのサポート
H.265ビデオエンコーダ(x265)、デコーダ(libav、libde265)、RTPペイローダとディポイダ
新しいDTLSプラグインとSRTP / DTLSサポート
OpenGL3サポート、マルチコンテキストとコンテキスト伝播、3Dビデオ、転送/変換分離、サブタイトルブレンディング
新しいOpenGLベースのQMLビデオシンク、Gtk GLビデオシンク、CoreAnimation CAOpenGLLayerSinkビデオシンク
gst-libavがlibav-providerとしてffmpegに切り替え、3D /マルチビュービデオ、トリックモード、CAVSコーデックをサポート
単体テスト用のGstHarness API
gst-editing-servicesはまったく新しいges-launch-1.0インターフェイス、改良されたミキシングサポート、gst-validateへの統合を得ました
gnonlinはgst-editing-servicesのnle(Non Linear Engine)に代わって廃止されました
gst-validateには、新しいプラグインシステム、豊富なデフォルトのテストスイート、同時テスト実行のサポート、valgrindサポートがあります
SDKバイナリパッケージ用のcerberoビルドツールが新しい 'bundle-source'コマンドを獲得
Android、iOS、OS X、Windowsプラットフォームの各種サポート
バージョン1.5.2の新機能:
740502:GstDirectControlBindingに絶対プロパティを追加する
740575:GStreamerでのDTSの修正
745366:concat:FLUSH_START / FLUSH_STOPイベントを転送する
746949:concat:アクティブパッドプロパティを追加する
750027:連結:シークをフラッシュした後、内部開始オフセットを0にリセットする
750033:basetransform - バッファの照合/分離を可能にする
750039:共有メモリを持つバッファを有効に保つ
750319:メモリ:サブクラスはマップ解除フラグのマップフラグを知らない
750530:ptp:FreeBSD、FreeBSD、およびその他のBSDにはifreq.ifw_hwaddrがありません
750574:netclientclock:クロックを内部クロックの周りのラッパークロックにする
750761:inputselector:異なるデュレーショントラックの選択を処理する
750782:パイプライン:gst_pipeline_set_latency()、getterおよびGObjectプロパティを追加する
751026:basesink:last-sampleプロパティのバッファリストを適切に処理する
751047:連結:調整ベースプロパティを追加する
751107:連結:パッドを離すときは、EOSを適切に送信してください。
751235:utils:get_compatible_padがフィルタの上限を完全に尊重していない
751420:basesink:最後のバッファリストをドレインに深くコピーする必要がある
バージョン1.4.5の新機能:
GStreamerコア:
736969:queue2:バッファリング時のデッドロック
738092:basesink:方向に基づいて報告された位置をクランプする
740001:タスク:一時停止および停止時の競合状態
GStreamerプラグインベース:
741420:ビデオプール:配置を適用した後の構成のサイズを更新する必要がある
715050:オーディオ/ x可聴用のタイプファインダーを追加する
739544:tcp:テストを追加し、tcp要素でメモリリークを修正する
739840:typefindは、Apple Core Audio Format(CAF)を認識する必要があります。
740556:videodecoder:キーフレームでDTS!= PTSのときに不平を言わない
740675:playsink:再生を継続し、ミュートプロパティをリセットする
740730:rtspconnection:親ソースが既に破棄されている場合、子ソースを削除しない
740853:audiodecoder:EOSを送信する前に、保留中のイベントをプッシュします。
740952:alsa:NetBSDの修正
741045:audiorateはタイムスタンプ精度を失うことがあります
741198:playbin:GstPadsが漏れる
GStreamerプラグインGood:
711437:apev2mux:WavPackファイルの先頭にAPEv2タグを配置しないでください
726194:キャプチャカードがインターレースされている場合や、同じ解像度でプログレッシブになる場合は、v4l2srcはうまく処理できません。
737603:v4l2bufferpool:フィールドがV4L2_FIELD_INTERLACEDのときにバッファインターレースフラグを設定する
739476:vpx:gitからlibvpxに対してビルドできない
739722:matroskamux:スレッドセーフなレジスタGstMatroskamuxPad
739789:v4l2allocator:allocatorがすでにアクティブな場合にエラーメッセージを修正する
739791:v4l2bufferpool:v4l2_allocator_new()が失敗したときにプールを参照解除する
739792:v4l2allocator:gst_v4l2_allocator_stopプロトタイプを修正しました。
739996:videomixer:ソースの1つがライブである場合、多くのフレームを削除します。
740040:v4l2src:V4L2_BUF_FLAG_ERRORが存在すると失敗する
740392:rtspsrc:mikey base64でkey-mgmtがリークしました
740407:qtmuxはキャプチャを4096x4096に制限します
740633:v4l2src:RW IOモードが壊れています
740636:v4l2src:フレームレートがドライバで常に設定されているとは限りません。
740671:aspectratiocrop:ビデオサイズが変更されたときにトリミングをリセットする必要がある
740905:v4l2:まだlinux / videodev.hに1つのインクルードがあります
741271:rtph264pay:SPS / PPS使用時のH.264ペイローダのバッファリーク
741381:rtph264pay:PAUSEDから>に行くと、競合状態がクラッシュすることがあります。 READY
741407:deinterlace:in query_capsは、フィルタがインターレースされている場合のみサポートされているフォーマットを返します
737579:v4l2object:出力デバイスの色空間を設定する
739754:v4l2bufferpool:すべてのメモリがキューイングする前に書き込み可能であることを検証する必要があります
GStreamerプラグインが悪い:
722764:rawparse:クエリ処理のSEEKINGを修正する
729768:mpegtsbase:最初にPCRを見つけるために、より多くのバイトを読み込むための制限を上げる
739152:gl / cocoa:GNUStepでビルドできない
740191:dvbbasesink:segfaults on 32-bit(rpi)
740201:gl / cocoa:OSXでコンパイルされません<もう10.7
740451:srtpdec:リークrtp / rtcpシンクイベント
740953:configure.ac:unportable test(1)比較演算子
741321:opusparse:ヘッダー解析を修正しました。 libopusのコード化された出力の
GStreamer RTSPサーバー:
739481:rtsp-stream:rtpbinを終了するときにsrtpデコーダがリークする
バージョン1.4.4の新機能:
バージョン1.4.5で修正されたバグ:
737498:multiqueue:現在のレベルを計算するときにGAPイベントを考慮しない
737794:multiqueue:キューがシリアル化されたイベントでオーバーランした場合のデッドロック
737999:systemclock:マルチスレッドエントリステータスの問題
738198:multiqueue:EOS上でリンクされていないストリームを起動しない
バージョン1.4.1の新機能:1.4リリースシリーズは1.2シリーズの上に新機能を追加しており、APIとABI安定1.xの一部です新機能を含むGStreamerマルチメディアフレームワークのリリースシリーズ。 1.4.xのバグ修正リリースには、1.4.0と比較して重要なバグ修正のみが含まれています。
バージョン1.4 RC2の新機能:
GStreamerチームは、安定版1.4リリースシリーズの2番目のリリース候補を発表することを嬉しく思います。 1.4リリースシリーズは、1.0および1.2シリーズの上に新しい機能を追加しており、GStreamerマルチメディアフレームワークのAPIおよびABI安定1.xリリースシリーズの一部です。
今回のリリース候補は、大きな回帰や大きな問題が検出されず、リリース候補の十分なテストが行われた場合、安定した1.4.0のリリースに間に合うことが期待されます。 1.3リリースシリーズで追加された新しいAPIは、この時点ではこれ以上変更される予定はありません。
バージョン1.4 RC1の新機能:
新しいAPI:
GstMessageTypeにはGST_MESSAGE_EXTENDEDが追加されています。それ以前のすべての型は、前と同じようにフラグ型として一緒に使用できますが、そのメッセージ以降は型が増分だけカウントされます。これは、より多くのメッセージタイプを追加できるようにするために必要でした。 2.0ではGstMessageTypeは単にフラグ型ではなくenumになります。
デバイスプロービング用のGstDeviceMonitor。使用可能なすべてのオーディオまたはビデオキャプチャデバイスを一覧表示します。これはGstPropertyProbeの代わりに0.10を使用しています。
gst_pad_set_offset()関数で設定されているように、イベントはパッドを通過するときにランタイムオフセットを累積します。これは例えばQOSイベントにおけるこれを補償することを可能にする。
GstBufferは新しいフラグ "tag-memory"を有する。メモリがバッファに追加または削除されたときに自動的に設定されます。これにより、バッファプールは、バッファをリサイクルできるかどうか、または最初にリセットする必要があるかどうかを検出できます。
GstTocにはループとしてGstTocEntriesをマークする新しいAPIがあります。
許可されていないためにリソースへのアクセスが失敗したことをアプリケーションに通知し、このケースと他のものを区別するために、承認されていないリソースエラーが定義されています。この変更は既に1.2.4にあります。
GstCollectPadsは、SEEKイベントのためのフラッシングとデフォルトハンドラをサポートしています。
複数のソースパッドを持つ要素のフローリターンの処理を簡略化する新しいGstFlowAggregatorヘルパーオブジェクト。さらに、GstPadは常に最後のフローリターンを格納し、それを取得するためのAPIを提供するようになりました。
GstSegmentには実行時間を特定の値でオフセットする新しいAPIがあり、これはGstPadですべての状況でgst_pad_set_offset()の正と負のオフセットを許容するために使用されます。
h265 / HEVCおよびVP8のサポートがコーデックのutilsおよびcodecパーサライブラリに追加され、さまざまな要素に統合されました。
RTSP接続のTLS検証を調整するためのAPIが追加されました。
RTSPとSDPライブラリには現在MIKEY(RFC 3830)のサポートがあり、異なるRTSPプロファイルを区別するAPIがあります。
RTP時間情報と統計にアクセスするためのAPI。
補助ストリームのサポートがrtpbinに追加されました。
タイル型の生のビデオフォーマットのサポートが追加されました。GstVideoDecoderとGstAudioDecoderには、タグイベントを集約し、それらにカスタムタグを一貫してマージするためのAPIがあります。
GstBufferPoolはフラッシングをサポートしています。
playbin / playsinkは、アプリケーション提供のオーディオおよびビデオフィルタをサポートしています。
GstDiscovererには、欠落しているプラグインとプラグインインストーラに渡す情報の詳細を取得するための新しい簡略化されたAPIがあります。
GLライブラリはgst-plugins-glからgst-plugins-badにマージされ、GStreamerパイプライン内でGLを処理するための一般的なインフラストラクチャと、これらを使用するプラグイン(特にビデオシンク)を提供しています。現在サポートされているプラットフォームは、Android、Cocoa(OS X)、DispManX(Raspberry Pi)、EAGL(iOS)、WGL(Windows)、および一般的なX11、Wayland、EGLプラットフォームです。これはeglglessinkに代わるもので、osxvideosinkに取って代わるものです。
gst-plugins-badの新しいGstAggregatorベースクラス。これは将来、GstCollectPadsを置き換え、APIの長年にわたる欠点を修正することになっています。基本クラスとともに、ビデオミキサー(コンポジター)のようないくつかの要素が既に提供されています。
主な変更点:
新しいプラグインと要素:v4L2経由でアクセス可能なプラットフォーム上のハードウェアコーデックにアクセスするためのv4l2videodec要素。サムスンExynos。これは、既存のV4L2要素と対応するインフラストラクチャの主要なリファクタリングと一緒になります。 v4l2videodec要素はmfcdec要素を置き換えます。
queue2のダウンロードバッファリング機能を置き換える新しいdownloadbuffer要素。 queue2のコードと比較すると、この単一のユースケースのほうがずっと簡単です。注目すべき新機能は、それ以外のものがダウンロードされていないときに既にダウンロードされたストリーム部分にギャップがダウンロードされていることです。これは、現在、ダウンロードバッファリングが有効になっているときにプレイビンによって使用されます。
rtpstreampayおよびrtpstreamは、RFC4571に従ってストリームAPI(例えば、TCP)を介してRTPパケットを送信するための要素である。
rtprtx要素は、rtpmanagerプラグインに統合された再送の標準準拠の実装用です。
audiomixer要素。複数のオーディオストリームを1つにまとめ、同期を維持します。これは、加算器要素の置換えになる予定です。
Kinectカメラのような3Dカメラ用のOpenNI2プラグイン。
高ダイナミックレンジのEXR画像をデコードするためのOpenEXRプラグイン。curlsshsinkとcurlsftpsinkを使ってSSH / SFTP経由でファイルを書き込む。
videosignal、ivfparseおよびsndfileプラグインは0.10から移植されました。
avfvideosrc、vtdecなどの要素は0.10から移植され、現在OS XとiOSで利用可能です。
その他の変更:
gst-libavはlibav 10.1を使用し、H265 / HEVCのサポートを得ました。
ハードウェアコーデックと特別なメモリタイプのサポートが改善され、さまざまなプラグインやベースクラスのバグフィックスや機能の追加が行われました。
queue2とmultiqueue要素におけるバッファリングのバグ修正と改良。
dvbsrcはDVB S2とT2のサポートを含め、より多くの配信メカニズムやその他の機能をサポートしています。
MPEGTSライブラリは、より多くの記述子をサポートしています。
tsdemuxとtsparseの主な改善点、特に時間とシーク関連。
souphttpsrcはキープアライブ接続、圧縮、設定可能な再試行回数、およびSSL証明書検証の設定をサポートしています。
hlsdemuxは大きなリファクタリングを受けており、現在はより信頼性が高く、トリックモードなどのHLS機能をさらにサポートしています。また、フラグメントは、各フラグメントが終了するのを待つ代わりに、ダウンロードされている間に下流にプッシュされます。dashdemuxとmssdemuxは、各フラグメントが終了するのを待つのではなく、ダウンロードされている間にフラグメントを下流にプッシュするようになりました。
videoflipは方向タグに基づいて自動的に反転することができます。
openjpegはOpenJPEG2 APIをサポートしています。
waylandsinkはリファクタリングされており、現在はより有用なはずです。また、将来的に削除される可能性の高い小さなライブラリが含まれているため、GstVideoOverlayインターフェイスが拡張されます。
gst-rtsp-serverはSRTPとMIKEYをサポートしています。
gst-libavエンコーダは現在、キャップを介して下流の任意のプロファイル/レベル設定をネゴシエートしています。
場所全体のカバー率の警告の修正がたくさんあります。
交渉関連のパフォーマンス改善。
800以上の修正されたバグレポート、バグレポートを持たない他の多くのバグ修正やその他の改良があります。
注目すべき事項:
eglglessink要素が削除され、glimagesink要素に置き換えられました。
mfcdec要素が削除され、v4l2videodecに置き換えられました。
osxvideosinkは、OS X 10.6以降でのみ使用できます。
Androidでは、GStreamerを初期化するために自動的に生成されたJavaクラスの名前空間がcom.gstreamerからorg.freedesktop.gstreamerに変更され、名前空間の汚染を防ぎます。
iOSでは、以前にGnuTLS GIOモジュールを使用していた場合、バイナリに含まれているものからプロジェクトのgst_ios_init.hとgst_ios_init.mを更新する必要があります。ローディング機構は若干変更されています。
バージョン1.2.4の新機能:
GStreamerコア:
724373:パイプラインが一時停止するとQueue2が一時ファイルを切り捨てる
725517:docs:入力ミスを修正し、不明な注釈を削除する
725809:ゴーストパッド:ターゲットパッドの参照カウントがないためにまれなクラッシュ
727253:parse:リリースに含まれるBison生成ファイルtarballsによりコンパイルエラーが発生する
727883:baseparse:キューフレームのメモリリーク
GStreamerプラグインベース:
693263:typefinding:MPEG-2ビデオESがH.263として検出されました
683504:playsink:字幕を無効にしたときのデッドロックと、字幕の次善の無効化
700770:typefinding:mp3ファイルがh263ビデオとして誤検出されました
723597:tagdemux:GST_FORMAT_TIMEのシークイベントが早期にBYTESに変換される
724633:oggdemux:プッシュモードの最後のページを無視する
724720:rtspconnection:トンネルモードで読み取り接続を切断または再接続できません
725313:rtspconnection:closed()コールバックはトンネルモードでは呼び出されません
725644:typefinding:mp3ファイルがH.263として誤検出される
726642:rtspconnection:エラー処理時のメモリリークが軽微です
727025:加算器:eosを送信する必要があるかどうかを確認するロジックを修正します。
GStreamerプラグインGood:
722185:souphttpsrc:racy"サーバーはシークをサポートしていません"エラー
724619:パルスインクルードのデバイス名プロパティを読み込むとクラッシュする
725124:rtspsrc:タスクの作成が成功しなかった場合のデッドロックの修正
725712:rtpsession:RTCP FIRが未知のSSRCで受信されたときにクラッシュする
725860:v4l2src:Hauppauge HDPVRビデオキャプチャデバイスでv4l2srcを使用して修正
726777:rtpjpegpay:ペイロードサイズが正しく計算されない
728017:[回帰] eosイベントをgstrtpjitterbufferから送信できませんでした。
728041:rtph264depay:avc形式を出力するときに、すべての出力バッファをデルタ単位としてマークする
724638:aacparse:音声フレームが見つからないときの復元力が失われる
727329:チェック:souphttpsrc:不明なタイプ名 'SoupStatus'
GStreamerプラグインが悪い:
724013:フルテキストで/ usr / share / sounds / sf2パスをハードコードしないでください
725137:hlsdemux:クエリパラメータがある場合、メディアプレイリストURLの計算に失敗する
725140:hlsdemux:コーデックと解像度を正しく解析できない
GStreamer libavプラグイン:
727779:avdec_h264、matroskademux:シーク中のクラッシュ(1.2回帰)
1.2リリースのシリーズは、1.0シリーズの上に新しい機能を追加しており、APIとABI安定版の一部です新しい機能を含むGStreamerマルチメディアフレームワークの1.xリリースシリーズ。
バージョン1.2.0の新機能:
新しいAPI:
要素間の一般的なコンテキストを共有するためのGstContextネゴシエーション/共有/アナウンス。表示ハンドル
GLのテクスチャアップロードの変換メタ、さまざまなバッファタイプをOpenGLテクスチャに変換できるようにする
GstCapsFeaturesは、要素間の特定のメモリまたはメタ要件のネゴシエーションを可能にするためのGstCapsの拡張です
連続したメモリとマッピング不可能なメモリのGstMemoryフラグ
ストリーム開始イベントにはオプションのフラグがあります。疎なストリームをシグナリングする
stream-startには、一緒に再生されるべきすべてのストリームを通知するオプションのgroup-idフィールドもあります
gst-plugins-baseのAllocatorsライブラリ。現在は汎用のdmabufメモリのみでサポートされています。
動的にリンクされたパイプラインの処理を容易にするinsertbinライブラリ(現在は-bad)
EGLヘルパーライブラリ(現在は-bad)
MPEG-TSデータ構造ライブラリ(現在は-bad)
新しいGstVideoRegionOfInterestMetaビデオフレーム上の関心領域を記述する。
GstVideoDecoder / Encoderには、ill-defined :: reset()vfuncを置き換えるための新しい:: flush()vfuncがあります。
URIクエリは、今すぐリダイレクトされたURIを照会することを可能にする。
主な変更点:
新しいプラグイン:
Microsoft Smooth Streamingのmssdemux
DASH適応型ストリーミングプロトコルのためのdashdemux
Bluetoothデバイスとの対話のためのbluez
JPEG2000のデコードとエンコーディングのためのopenjpeg
実験的なDaalaのデコードとエンコーディングのためのdaala
vpxプラグインは実験的なVP9デコードとエンコーディングをサポートしています
WebPデコード用のwebpプラグイン(後でエンコードするエンコード)
様々なその他:yadif、srtp、sbc、fluidsynth、midiparse、mfc、ivtv、accuraterip、audiofxbad
移動したプラグイン:
dtmf、vp8rtp、scaletempo、rtpmuxプラグインはgst-pluginsにあります
ビデオ:
ビデオスケールやビデオコンバーターなどのコンバータでインターレースされたビデオの処理を修正しました(たとえば、両方のフィールドを個別にスケールする)
変換が必要な場合、ビデオコンバートは品質損失を最小限に抑えるように努力しますgst-plugins-badの(紛らわしい名前の)libgstbasevideo-1.0ライブラリの実験的なGstSurfaceConverter、GstSurfaceMetaおよびGstVideoContext APIが削除され、GStreamer Coreおよびgst-plugins-base(上記参照)の新しいAPIに置き換えられました。それがこのライブラリに残っていたので、実験的なlibgstbasevideo-1.0ライブラリ全体がgst-plugins-badから削除されました
クロマ・サブサンプリングとクロマ・サイジング変換は、ビデオコンバートでの処理が優れており、インターレース・ビデオのサポートが向上しました。
videotestsrcの新しいピンホイールとスポークパターン
videomixerはシンクパッド上で異なるビデオフォーマットを受け入れ、ミキシング時に共通のフォーマットに変換できるようになりました
オーディオ:
audioconvertは、変換が必要なときに品質損失を最小限に抑えるためにさらに努力します
加算器では入力ストリームのミュート/ミュート解除が可能になり、入力ストリームごとのボリューム
pulseaudio要素は、再生中にデバイス間で切り替えることができます
aacparseはADTS間で変換できます← - > RAW
プラットフォーム固有の変更点:glibc以外のプラットフォーム(Windows、OSX、Androidなど)であっても、ポインタアドレスだけでなく、CapsやイベントなどがGStreamerのデバッグログに出力されるようになりました。
IPv6ソケットがIPv4(Windowsなど)を処理できないプラットフォームでは、ネットワーク要素(UDP / TCP)
Linux / BSD:v4l2には多くの改善とクリーンアップがありました
その他の変更:
gst-libavはlibav 9を使用するようになりました。
プラグインの静的リンクは現在サポートされています(1.0.7も参照)
rtspsrc:NetClientClockのサポートを追加:サーバーがSDPのGstNetTimeProviderを提案するときに、リモートクロックにスレーブするGstNetClientClockを設定し、このクロックをprovide_clockに提案します。 RTSPサーバからのリソースの同期再生を簡略化します。 gst-rtsp-serverはこれをSDPに追加することをサポートし、ネットワーククロック
RTP再送信/ NACKサポートと大きなRTPジッタバッファの改善
SRTPとDTLSのサポート
多くの要素とコアを変更して、正しいスティッキーイベントの順序を使用し、フラッシング中に重要なスティッキーイベントを失わないようにする
> 1000個の修正されたバグレポート、および他の多くのバグ修正やバグレポートのないあらゆる場所での改善注目すべき事項:
単一ヘッダはすべてのライブラリに含まれます。 #include - これはいくつかのバインディングに必要でした。
これが以前は正しくなかった場合には、より厳密な(正しい)サブセットのチェックが行われます。サブセットキャップにスーパーセットキャップが持ついくつかのフィールドがない場合、キャップは常に別のキャップセットの互換サブセットになりません。これにより、現在キャップが不完全な場合、交渉されていないエラーが発生する可能性があります。ただし、互換性のない/予期しない方法でフォーマットされたデータを一部の要素にパイプすることによるデータ破損を防止します。ストリームフォーマットフィールドとアライメントフィールド、およびストリームフォーマットフィールドのAACキャップについては、h264キャップを確認してください。この変更は、次の安定版1.0.8リリースにも含まれます。
行方不明のイベントを厳密にチェックし、いくつかの場所でスティッキーイベントの順序(ストリーム開始、キャップ、セグメント)を修正します。これはデフォルトでは安定版では有効になっていませんが、gitビルド、開発リリースを使用しているとき、またはCFLAGSで-UG_DISABLE_ASSERTを指定してコンパイルするときに警告が表示されることがあります
ダウンストリームにキャップがあれば、x264encはデフォルトでバイトストリームでデータを出力するようになりました(例えば、capsinkが設定されていないappsink、filesink、udpsink、tcpserversinkなど)
MPEG TS demuxer投稿メッセージには、PMT、PATなどが別の形式で格納されています。この新しいフォーマットは、新しいMPEGTSライブラリのデータ構造を使用します
GstContext APIが1.1.4から1.1.90の間で変更されました
バージョン1.1.4の新機能:
新しいAPI:
要素間の一般的なコンテキストを共有するためのGstContextネゴシエーション/共有/アナウンス。表示ハンドル
GLのテクスチャアップロードの変換メタ、さまざまなバッファタイプをOpenGLテクスチャに変換できるようにする
GstCapsFeaturesは、要素間の特定のメモリまたはメタ要件のネゴシエーションを可能にするためのGstCapsの拡張です
連続したメモリとマッピング不可能なメモリのGstMemoryフラグ
ストリーム開始イベントにはオプションのフラグがあります。疎なストリームをシグナリングする
stream-startには、一緒に再生されるべきすべてのストリームを通知するオプションのgroup-idフィールドもあります
gst-plugins-baseのAllocatorsライブラリ。現在は汎用のdmabufメモリのみでサポートされています。
動的にリンクされたパイプラインの処理を容易にするinsertbinライブラリ(現在は-bad)
EGLヘルパーライブラリ(現在は-bad)
MPEG-TSデータ構造ライブラリ(現在は-bad)
新しいGstVideoRegionOfInterestMetaビデオフレーム上の関心領域を記述する。
GstVideoDecoder / Encoderには、ill-defined :: reset()vfuncを置き換えるための新しい:: flush()vfuncがあります。
URIクエリは、今すぐリダイレクトされたURIを照会することを可能にする。
主な変更点:
新しいプラグイン:
Microsoft Smooth Streamingのmssdemux
DASH適応型ストリーミングプロトコルのためのdashdemux
Bluetoothデバイスとの対話のためのbluez
JPEG2000のデコードとエンコーディングのためのopenjpeg
実験的なDaalaのデコードとエンコーディングのためのdaala
vpxプラグインは実験的なV9デコードとエンコーディングをサポートしています
WebPデコード用のwebpプラグイン(後でエンコードするエンコード)
様々なその他:yadif、srtp、sbc、fluidsynth、midiparse、mfc、ivtv、accuraterip、audiofxbad
移動したプラグイン:
dtmf、vp8rtp、scaletempo、rtpmuxプラグインはgst-pluginsにあります
ビデオ:
ビデオスケールやビデオコンバーターなどのコンバータでインターレースされたビデオの処理を修正しました(たとえば、両方のフィールドを個別にスケールする)
変換が必要な場合、ビデオコンバートは品質損失を最小限に抑えるように努力しますgst-plugins-badの(紛らわしい名前の)libgstbasevideo-1.0ライブラリの実験的なGstSurfaceConverter、GstSurfaceMetaおよびGstVideoContext APIが削除され、GStreamer Coreおよびgst-plugins-base(上記参照)の新しいAPIに置き換えられました。それがこのライブラリに残っていたので、実験的なlibgstbasevideo-1.0ライブラリ全体がgst-plugins-badから削除されました。
クロマのサブサンプリングとサイジング変換は、ビデオコンバート
videotestsrcの新しいピンホイールとスポークパターン
オーディオ:
加算器では入力ストリームのミュート/ミュート解除が可能になり、入力ストリームごとのボリューム
pulseaudio要素は、再生中にデバイス間で切り替えることができます
aacparseはADTS間で変換できます← - > RAW
プラットフォーム固有の変更点:
glibc以外のプラットフォーム(Windows、OSX、Androidなど)であっても、ポインタアドレスだけでなく、CapsやイベントなどがGStreamerのデバッグログに出力されるようになりました。
IPv6ソケットがIPv4(Windowsなど)を処理できないプラットフォームでは、ネットワーク要素(UDP / TCP)
Windows:d3dvideosinkはアップストリーム要素にバッファプールを提供しますLinux / BSD:v4l2には多くの改善とクリーンアップがありました
その他の変更:
gst-libavはlibav 9を使用するようになりました。
プラグインの静的リンクは現在サポートされています(1.0.7も参照)
rtspsrc:NetClientClockのサポートを追加:サーバーがSDPのGstNetTimeProviderを提案するときに、リモートクロックにスレーブするGstNetClientClockを設定し、このクロックをprovide_clockに提案します。 RTSPサーバからのリソースの同期再生を簡略化します。 gst-rtsp-serverはこれをSDPに追加することをサポートし、ネットワーククロック
RTP再送信/ NACKサポートと大きなRTPジッタバッファの改善
SRTPとDTLSのサポート
多くの要素とコアを変更して、正しいスティッキーイベントの順序を使用し、フラッシング中に重要なスティッキーイベントを失わないようにする
> 1000個の修正されたバグレポート、および他の多くのバグ修正やバグレポートのないあらゆる場所での改善
注目すべき事項:
単一ヘッダはすべてのライブラリに含まれます。 #include - これはいくつかのバインディングに必要でした。これが以前は正しくなかった場合には、より厳密な(正しい)サブセットのチェックが行われます。サブセットキャップにスーパーセットキャップが持ついくつかのフィールドがない場合、キャップは常に別のキャップセットの互換サブセットになりません。これにより、現在キャップが不完全な場合、交渉されていないエラーが発生する可能性があります。ただし、互換性のない/予期しない方法でフォーマットされたデータを一部の要素にパイプすることによるデータ破損を防止します。ストリームフォーマットフィールドとアライメントフィールド、およびストリームフォーマットフィールドのAACキャップについては、h264キャップを確認してください。この変更は、次の安定版1.0.8リリースにも含まれます。
行方不明のイベントを厳密にチェックし、いくつかの場所でスティッキーイベントの順序(ストリーム開始、キャップ、セグメント)を修正します。これはデフォルトでは安定版では有効になっていませんが、gitビルド、開発リリースを使用しているとき、またはCFLAGSで-UG_DISABLE_ASSERTを指定してコンパイルするときに警告が表示されることがあります
ダウンストリームにキャップがあれば、x264encはデフォルトでバイトストリームでデータを出力するようになりました(例えば、capsinkが設定されていないappsink、filesink、udpsink、tcpserversinkなど)
コメントが見つかりません