GStremaer を使って MAMBO の rtsp ストリーミングを見る2つの方法を紹介します。
- コマンドラインでパイプラインを作って、見る
- アプリをビルドして、見る
どちらも GStreamer のインストールが必要です。コマンドラインを使った方法の方が簡単です。
| #include <string.h> | |
| #include <glib.h> | |
| int main() | |
| { | |
| gchar *string = "message"; | |
| GByteArray *array; | |
| guint8 *p; | |
| array = g_byte_array_new (); |
| #import <Foundation/Foundation.h> | |
| @interface AtomicQueue : NSObject | |
| - (id)init; | |
| - (id)dequeue; | |
| - (void)enqueue:(id)data; | |
| @end | |
| @implementation AtomicQueue { | |
| NSMutableArray *queue; |
| GST_DEBUG=fpsdisplaysink:6 gst-launch-1.0 videotestsrc ! fpsdisplaysink video-sink=fakesink text-overlay=false signal-fps-measurements=true |
| /* | |
| * Kiroru-cast is derived work from gst-rtsp-server examples[1]. | |
| * Because of this nature, Kiroru-cast is licensed under LGPL v2 | |
| * | |
| * [1]: https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples | |
| */ | |
| /* | |
| * Original license | |
| * |
| set SRCDIR=%1 | |
| set DESTDIR=%2 | |
| for /f "usebackq" %%i in ( `dir /B /S %SRCDIR%` ) do ( | |
| fsutil hardlink create %DESTDIR%%%~nxi %%i | |
| ) |
| #include <gst/gst.h> | |
| #include <glib.h> | |
| int main(int argc, char *argv[]) | |
| { | |
| GstElement *pipeline; | |
| GstElement *src; | |
| GstElement *sink; | |
| GstBus *bus; | |
| GstMessage *msg; |
| func dumpH264(_ path:URL) -> Void { | |
| let asset:AVURLAsset = AVURLAsset(url:path, options:nil) | |
| let video_tracks:Array = asset.tracks(withMediaType: AVMediaTypeVideo) | |
| var output:AVAssetReaderOutput? = nil | |
| do { | |
| try self.asset_reader = AVAssetReader.init(asset: asset) | |
| } catch { | |
| fatalError("Unable to read Asset: \(error)") | |
| } |
| # ProjectRoot/app/.gitignoe | |
| /build | |
| /assets/ | |
| /.externalNativeBuild | |
| /gst-build-*/ | |
| /src/main/java/org/freedesktop/gstreamer |
| FROM ubuntu:bionic | |
| ENV REPO_CMD_DIR "/usr/local/bin" | |
| ENV GIT_USER_NAME "Your Name" | |
| ENV GIT_USER_EMAIL "[email protected]" | |
| # Install packages for build Parrot SDKs | |
| RUN apt-get update -y && apt-get upgrade -y | |
| RUN apt-get install -y \ | |
| locales \ |