forked from BenWeekes/agora-gstreamer
-
Notifications
You must be signed in to change notification settings - Fork 1
/
samples
126 lines (68 loc) · 13.9 KB
/
samples
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
v4l2-ctl -d /dev/video0 --list-formats-ext
gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=1280, height=720' ! nvvidconv ! nvegltransform ! nveglglessink -e
cd /home/ben-nano/Downloads/agora_rtc_sdk/example/out/aarch64
./sample_send_h264_dual_stream --token 20b7c51ff4c644ab80cf5a4e646b05377 --channelId rrr --HighVideoFile ~/Downloads/test_data/test_multi_slice.h264 --LowVideoFile ~/Downloads/test_data/test_multi_slice.h264
gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'video/x-raw,width=640, height=480, framerate=30/1, format=YUY2' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! omxh264enc ! qtmux ! filesink location=test.mp4 -e
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! nvoverlaysink
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! videoconvert ! xvimagesink
gst-launch-1.0 -v v4l2src device=/dev/video1 ! image/jpeg, width=640, height=480, framerate=30/1, format=MJPG ! jpegdec ! xvimagesink
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! xvimagesink
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! matroskamux ! filesink location=test_MJPG_H264enc.mkv
! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh265enc
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! decodebin ! xvimagesink
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! h264parse ! omxh264dec ! glimagesink
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! h264parse ! omxh264dec ! nvoverlaysink
https://developer.ridgerun.com/wiki/index.php?title=Xavier/GStreamer_Pipelines/H264
gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! h264parse ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=640 overlay-h=480 overlay=1
gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360 ! jpegdec ! queue ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! decodebin ! queue ! glimagesink
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=640 overlay-h=480 overlay=1
gst-launch-1.0 -v videotestsrc pattern=ball is-live=true ! video/x-raw,format=I420,width=320,height=180,framerate=60/1 ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! decodebin ! queue ! glimagesink
gst-launch-1.0 -v videotestsrc pattern=ball is-live=true ! video/x-raw,format=I420,width=320,height=180,framerate=60/1 ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr ! queue ! decodebin ! queue ! glimagesink
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -v videotestsrc pattern=ball is-live=true ! ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0
gst-launch-1.0 agorasrc verbose=false appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr ! decodebin ! glimagesink
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=480, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! omxh264dec ! nvoverlaysink -e sync=false
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=960, height=540, framerate=20/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! omxh264dec ! nvoverlaysink -e sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=360, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! omxh264dec ! nvoverlaysink -e sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=360, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! queue ! h264parse ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=640 overlay-h=480 overlay=1
export GST_PLUGIN_PATH=/usr/local/lib/aarch64-linux-gnu/gstreamer-1.0
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=360, framerate=30/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=640 overlay-h=480 overlay=1 -e sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=640, height=360, framerate=20/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink -e sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=1280, height=720, framerate=5/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink -e sync=false
workd
gst-launch-1.0 -v videotestsrc pattern=ball is-live=true ! video/x-raw,format=I420,width=320,height=180,framerate=60/1 ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src device=/dev/video1 ! jpegdec ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
agorasink only works with x264 - to be investigated
gst-launch-1.0 -v v4l2src device=/dev/video1 ! jpegdec ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=640,height=360,framerate=20/1,rate=20 ! jpegdec ! queue ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr verbose=true ! fakesink sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! video/x-raw, width=1280, height=720, framerate=5/1, format=YUY2 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink -e sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=640,height=360,framerate=20/1,rate=20 ! jpegdec ! queue ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink -e sync=false
gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=640,height=360,framerate=20/1,rate=20 ! jpegdec ! queue ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink -e sync=false
JN NICE
gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=640,height=360,framerate=30/1,rate=30 ! nvv4l2decoder mjpeg=1 ! nvvidconv ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=640 overlay-h=480 overlay=1 -e sync=false
V NICE
gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=1280,height=720,framerate=30/1,rate=30 ! nvv4l2decoder mjpeg=1 ! nvvidconv ! omxh264enc ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr outport=7372 inport=7373 verbose=false ! queue ! h264parse ! queue ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=1280 overlay-h=720 overlay=1 -e sync=false
************************ PI ****************************
export GST_PLUGIN_PATH=/usr/local/lib/arm-linux-gnueabihf/gstreamer-1.0
gst-launch-1.0 -v videotestsrc pattern=ball is-live=true ! video/x-raw,format=I420,width=320,height=180,framerate=60/1 ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
agorasink only works with x264 - to be investigated
gst-launch-1.0 -v v4l2src device=/dev/video1 ! jpegdec ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -v videotestsrc pattern=ball is-live=true ! video/x-raw,format=I420,width=320,height=180,framerate=60/1 ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360 ! jpegdec ! queue ! videoconvert ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src ! image/jpeg,width=1280,height=720 ! jpegdec ! queue ! videoconvert ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360 ! jpegdec ! queue ! videoconvert ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360,framerate=30/1,rate=30 ! jpegdec ! queue ! videoconvert ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src ! image/jpeg,width=960,height=540,framerate=30/1,rate=30 ! jpegdec ! queue ! videoconvert ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360,framerate=30/1,rate=30 ! jpegdec ! queue ! videoconvert ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
debug slow in for agoraioudp
153 gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360,framerate=20/1,rate=20 ! jpegdec ! queue ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agoraioudp appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr verbose=true ! fakesink sync=false
154 gst-launch-1.0 -e v4l2src ! image/jpeg,width=640,height=360,framerate=20/1,rate=20 ! jpegdec ! queue ! videoconvert ! x264enc key-int-max=60 tune=zerolatency ! queue ! agorasink appid=20b7c51ff4c644ab80cf5a4e646b05377 channel=rrr
split output to recorder
gst-launch-1.0 v4l2src device=/dev/video0 ! clockoverlay text="front" time-format="%Y-%m-%d %H:%M:%S %z %Z" ! videorate ! video/x-raw,width=1280,height=720,framerate=15/1 ! nvvidconv ! nvv4l2h264enc maxperf-enable=1 control-rate=0 bitrate=900000 insert-sps-pps=1 ! tee name=t \
t. ! queue ! h264parse ! agorasink appid=$token channel=$channel userid=1 \
t. ! queue ! h264parse ! splitmuxsink location=front_%05d_$var.mp4 max-size-time=300000000000 muxer-factory=mp4mux #muxer-properties="properties,streamable=true"