GStremaer を使って MAMBO の rtsp ストリーミングを見る2つの方法を紹介します。
- コマンドラインでパイプラインを作って、見る
- アプリをビルドして、見る
どちらも GStreamer のインストールが必要です。コマンドラインを使った方法の方が簡単です。
find | grep package.json | xargs -I{} sh -c 'jq -r ".dependencies | to_entries | map(\"\(.key),\(.value)\") | .[]" {} > ~/$(dirname {} | xargs basename)-package.csv' |
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 \ |
# ProjectRoot/app/.gitignoe | |
/build | |
/assets/ | |
/.externalNativeBuild | |
/gst-build-*/ | |
/src/main/java/org/freedesktop/gstreamer |
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)") | |
} |
#include <gst/gst.h> | |
#include <glib.h> | |
int main(int argc, char *argv[]) | |
{ | |
GstElement *pipeline; | |
GstElement *src; | |
GstElement *sink; | |
GstBus *bus; | |
GstMessage *msg; |
set SRCDIR=%1 | |
set DESTDIR=%2 | |
for /f "usebackq" %%i in ( `dir /B /S %SRCDIR%` ) do ( | |
fsutil hardlink create %DESTDIR%%%~nxi %%i | |
) |
/* | |
* 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 | |
* |
GST_DEBUG=fpsdisplaysink:6 gst-launch-1.0 videotestsrc ! fpsdisplaysink video-sink=fakesink text-overlay=false signal-fps-measurements=true |
#import <Foundation/Foundation.h> | |
@interface AtomicQueue : NSObject | |
- (id)init; | |
- (id)dequeue; | |
- (void)enqueue:(id)data; | |
@end | |
@implementation AtomicQueue { | |
NSMutableArray *queue; |