-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathmmids.config
82 lines (71 loc) · 3.53 KB
/
mmids.config
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
settings {
ffmpeg_path c:\users\me\tools\ffmpeg\bin\ffmpeg.exe
tls_cert_path cert.pfx
tls_cert_password abcd
http_api_port 9011
}
reactor test executor=simple_http update_interval=15 {
url http://localhost:9055/test?a=b&c=d
}
# This workflow allows RTMP publishers to send video on port 1935 and rtmp app "basic_read" and with any stream
# key. These video streams are then available to RTMP clients to watch on port 1935, the "basic_watch" rtmp
# application, and the same stream key that the incoming video came in on.
workflow basic_read_watch {
rtmp_receive rtmp_app=basic_read stream_key=* allow_ips=192.168.0.1,10.0.0.1,127.0.0.0/24 rtmps
rtmp_watch rtmp_app=basic_watch stream_key=* deny_ips=192.168.0.1,10.0.0.1,117.0.0.0/24 rtmps
}
workflow transcode1 {
rtmp_receive rtmp_app=transcode1 stream_key=*
basic_transcode audio=avenc_aac video=x264 video_width=1024 video_height=768 video_fps=30 video_preset=veryfast audio_bitrate=128000 video_bitrate=2000
rtmp_watch rtmp_app=transcode1 stream_key=*
}
# This workflow demonstrates a more complex video workflow. We accept video on RTMP on the "receive" rtmp application
# name for any stream key. We then generate an HLS feed for archival purpose, an HLS feed for live preview purpose,
# we expose the raw video to rtmp clients on a "preview" rtmp application (so you can see the pre-transcoded feed
# via rtmp).
#
# Then we transcode the video down to 640x480 with a 1Mbps bitrate, make a live HLS feed for the transcoded feed,
# expose the transcoded video feed to the "watch" rtmp application, and then finally push the transcoded feed
# to an external RTMP server
workflow transcode_test {
rtmp_receive rtmp_app=receive stream_key=*
ffmpeg_hls path=c:\temp\hls\archive duration=2 count=0 # archive full video
ffmpeg_hls path=c:\temp\hls\preview duration=2 count=5 # live feed for hls preview
rtmp_watch rtmp_app=preview stream_key=*
ffmpeg_transcode vcodec=h264 acodec=aac h264_preset=ultrafast size=640x480 kbps=1000
ffmpeg_hls path=c:\temp\hls\result duration=2
rtmp_watch rtmp_app=watch stream_key=*
ffmpeg_push target=rtmp://a.rtmp.youtube.com/live2/s7pv-xbay-3c1z-7m04-1ge3?a=b&c=d
}
# Simple workflow that shows multi-streaming capabilities. We take in a video stream, expose it to RTMP clients for
# watching from here while pushing the video out to multiple other external RTMP servers
workflow multi_streaming {
rtmp_receive rtmp_app=multistream stream_key=abc1234
rtmp_watch rtmp_app=multistream-watch stream_key=abc1234
ffmpeg_push target=rtmp://a.rtmp.youtube.com/live2/s7pv-xbay-3c1z-7m04-1ge3
ffmpeg_push target=rtmp://a.rtmp.youtube.com/live2/8sq2-ua1x-vcqr-up0z-6msp?a=b&c=d
}
# Simple workflow that will read a media stream (can be remote, currently a local file) and
# bring it into a media pipeline
workflow pull_test {
#ffmpeg_pull location=https://ll-hls-test.apple.com/llhls1/multi.m3u8 stream_name=pull_test
rtmp_watch rtmp_app=pull stream_key=pull
}
workflow forwarded_input {
rtmp_receive rtmp_app=forward_receive stream_key=*
forward_to_workflow target_workflow=forwarded_output
}
workflow forwarded_output {
rtmp_watch rtmp_app=forwarded_watch stream_key=*
}
workflow reactor_receive {
rtmp_receive rtmp_app=reactor_receive stream_key=* reactor=test
forward_to_workflow reactor=test
}
workflow reactor_watch {
rtmp_watch rtmp_app=reactor_watch stream_key=* reactor=test
}
workflow reactor_forwarder {
rtmp_receive rtmp_app=reactor_forwarder stream_key=*
forward_to_workflow reactor=test
}