正在显示
6 个修改的文件
包含
174 行增加
和
97 行删除
@@ -32,7 +32,7 @@ FMS URL: rtmp://127.0.0.1:1935/live | @@ -32,7 +32,7 @@ FMS URL: rtmp://127.0.0.1:1935/live | ||
32 | Stream: livestream | 32 | Stream: livestream |
33 | For example, use ffmpeg to publish: | 33 | For example, use ffmpeg to publish: |
34 | for((;;)); do \ | 34 | for((;;)); do \ |
35 | - ./objs/ffmpeg/bin/ffmpeg -re -i doc/source.flv -vcodec copy -acodec copy \ | 35 | + ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.flv -vcodec copy -acodec copy \ |
36 | -f flv -y rtmp://127.0.0.1:1935/live/livestream; \ | 36 | -f flv -y rtmp://127.0.0.1:1935/live/livestream; \ |
37 | sleep 1; \ | 37 | sleep 1; \ |
38 | done | 38 | done |
@@ -15,17 +15,14 @@ vhost __defaultVhost__ { | @@ -15,17 +15,14 @@ vhost __defaultVhost__ { | ||
15 | hls_path ./objs/nginx/html; | 15 | hls_path ./objs/nginx/html; |
16 | hls_fragment 5; | 16 | hls_fragment 5; |
17 | hls_window 30; | 17 | hls_window 30; |
18 | - forward 127.0.0.1:1936; | 18 | + #forward 127.0.0.1:1936; |
19 | transcode { | 19 | transcode { |
20 | enabled on; | 20 | enabled on; |
21 | ffmpeg ./objs/ffmpeg/bin/ffmpeg; | 21 | ffmpeg ./objs/ffmpeg/bin/ffmpeg; |
22 | - #ffmpeg ./research/ffempty/ffempty; | ||
23 | engine ld{ | 22 | engine ld{ |
24 | enabled on; | 23 | enabled on; |
25 | vfilter { | 24 | vfilter { |
26 | - #vf 'drawtext=text=SRS'; | ||
27 | - #vf 'crop=in_w-20:in_h-160:10:80'; | ||
28 | - i ./doc/ffmpeg-logo.png; | 25 | + i ./doc/ffmpeg-min.png; |
29 | filter_complex 'overlay=10:10'; | 26 | filter_complex 'overlay=10:10'; |
30 | } | 27 | } |
31 | vcodec libx264; | 28 | vcodec libx264; |
@@ -43,7 +40,6 @@ vhost __defaultVhost__ { | @@ -43,7 +40,6 @@ vhost __defaultVhost__ { | ||
43 | asample_rate 44100; | 40 | asample_rate 44100; |
44 | achannels 2; | 41 | achannels 2; |
45 | aparams { | 42 | aparams { |
46 | - profile:a aac_low; | ||
47 | } | 43 | } |
48 | output rtmp://[vhost]:[port]/[app]/[stream]_ld; | 44 | output rtmp://[vhost]:[port]/[app]/[stream]_ld; |
49 | } | 45 | } |
@@ -72,6 +68,126 @@ vhost __defaultVhost__ { | @@ -72,6 +68,126 @@ vhost __defaultVhost__ { | ||
72 | } | 68 | } |
73 | } | 69 | } |
74 | } | 70 | } |
71 | +# the mirror filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction | ||
72 | +vhost mirror.transcode.vhost.com { | ||
73 | + transcode { | ||
74 | + enabled on; | ||
75 | + ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
76 | + engine mirror{ | ||
77 | + enabled on; | ||
78 | + vfilter { | ||
79 | + vf 'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2'; | ||
80 | + } | ||
81 | + vcodec libx264; | ||
82 | + vbitrate 300; | ||
83 | + vfps 20; | ||
84 | + vwidth 480; | ||
85 | + vheight 320; | ||
86 | + vthreads 2; | ||
87 | + vprofile baseline; | ||
88 | + vpreset superfast; | ||
89 | + vparams { | ||
90 | + } | ||
91 | + acodec libaacplus; | ||
92 | + abitrate 30; | ||
93 | + asample_rate 44100; | ||
94 | + achannels 2; | ||
95 | + aparams { | ||
96 | + } | ||
97 | + output rtmp://[vhost]:[port]/[app]/[stream]_mirror; | ||
98 | + } | ||
99 | + } | ||
100 | +} | ||
101 | +# the drawtext filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#drawtext-1 | ||
102 | +vhost drawtext.transcode.vhost.com { | ||
103 | + transcode { | ||
104 | + enabled on; | ||
105 | + ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
106 | + engine drawtext{ | ||
107 | + enabled on; | ||
108 | + vfilter { | ||
109 | + vf 'drawtext=text=SimpleRtmpServer(SRS):x=10:y=10:fontcolor=#EEEEEE:fontfile=./doc/FreeSerifBold.ttf'; | ||
110 | + } | ||
111 | + vcodec libx264; | ||
112 | + vbitrate 300; | ||
113 | + vfps 20; | ||
114 | + vwidth 480; | ||
115 | + vheight 320; | ||
116 | + vthreads 2; | ||
117 | + vprofile baseline; | ||
118 | + vpreset superfast; | ||
119 | + vparams { | ||
120 | + } | ||
121 | + acodec libaacplus; | ||
122 | + abitrate 30; | ||
123 | + asample_rate 44100; | ||
124 | + achannels 2; | ||
125 | + aparams { | ||
126 | + } | ||
127 | + output rtmp://[vhost]:[port]/[app]/[stream]_drawtext; | ||
128 | + } | ||
129 | + } | ||
130 | +} | ||
131 | +# the crop filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#crop | ||
132 | +vhost crop.transcode.vhost.com { | ||
133 | + transcode { | ||
134 | + enabled on; | ||
135 | + ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
136 | + engine crop{ | ||
137 | + enabled on; | ||
138 | + vfilter { | ||
139 | + vf 'crop=in_w-20:in_h-160:10:80'; | ||
140 | + } | ||
141 | + vcodec libx264; | ||
142 | + vbitrate 300; | ||
143 | + vfps 20; | ||
144 | + vwidth 480; | ||
145 | + vheight 320; | ||
146 | + vthreads 2; | ||
147 | + vprofile baseline; | ||
148 | + vpreset superfast; | ||
149 | + vparams { | ||
150 | + } | ||
151 | + acodec libaacplus; | ||
152 | + abitrate 30; | ||
153 | + asample_rate 44100; | ||
154 | + achannels 2; | ||
155 | + aparams { | ||
156 | + } | ||
157 | + output rtmp://[vhost]:[port]/[app]/[stream]_crop; | ||
158 | + } | ||
159 | + } | ||
160 | +} | ||
161 | +# the logo filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#crop | ||
162 | +vhost logo.transcode.vhost.com { | ||
163 | + transcode { | ||
164 | + enabled on; | ||
165 | + ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
166 | + engine logo{ | ||
167 | + enabled on; | ||
168 | + vfilter { | ||
169 | + vf 'crop=200:100:10:10'; | ||
170 | + } | ||
171 | + vcodec libx264; | ||
172 | + vbitrate 300; | ||
173 | + vfps 20; | ||
174 | + vwidth 480; | ||
175 | + vheight 320; | ||
176 | + vthreads 2; | ||
177 | + vprofile baseline; | ||
178 | + vpreset superfast; | ||
179 | + vparams { | ||
180 | + } | ||
181 | + acodec libaacplus; | ||
182 | + abitrate 30; | ||
183 | + asample_rate 44100; | ||
184 | + achannels 2; | ||
185 | + aparams { | ||
186 | + } | ||
187 | + output rtmp://[vhost]:[port]/[app]/[stream]_logo; | ||
188 | + } | ||
189 | + } | ||
190 | +} | ||
75 | # transcode all app and stream of vhost | 191 | # transcode all app and stream of vhost |
76 | vhost all.transcode.vhost.com { | 192 | vhost all.transcode.vhost.com { |
77 | # the streaming transcode configs. | 193 | # the streaming transcode configs. |
@@ -137,6 +253,8 @@ vhost all.transcode.vhost.com { | @@ -137,6 +253,8 @@ vhost all.transcode.vhost.com { | ||
137 | achannels 2; | 253 | achannels 2; |
138 | # other ffmpeg audio params | 254 | # other ffmpeg audio params |
139 | aparams { | 255 | aparams { |
256 | + # audio params, @see: http://ffmpeg.org/ffmpeg-codecs.html#Audio-Encoders | ||
257 | + profile:a aac_low; | ||
140 | } | 258 | } |
141 | # output stream. variables: | 259 | # output stream. variables: |
142 | # [vhost] the input stream vhost. | 260 | # [vhost] the input stream vhost. |
@@ -207,96 +325,6 @@ vhost all.transcode.vhost.com { | @@ -207,96 +325,6 @@ vhost all.transcode.vhost.com { | ||
207 | } | 325 | } |
208 | } | 326 | } |
209 | } | 327 | } |
210 | -# the mirror filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction | ||
211 | -vhost mirror.transcode.vhost.com { | ||
212 | - transcode { | ||
213 | - enabled on; | ||
214 | - ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
215 | - engine mirror{ | ||
216 | - enabled on; | ||
217 | - vfilter { | ||
218 | - vf 'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2'; | ||
219 | - } | ||
220 | - vcodec libx264; | ||
221 | - vbitrate 300; | ||
222 | - vfps 20; | ||
223 | - vwidth 480; | ||
224 | - vheight 320; | ||
225 | - vthreads 2; | ||
226 | - vprofile baseline; | ||
227 | - vpreset superfast; | ||
228 | - vparams { | ||
229 | - } | ||
230 | - acodec libaacplus; | ||
231 | - abitrate 30; | ||
232 | - asample_rate 44100; | ||
233 | - achannels 2; | ||
234 | - aparams { | ||
235 | - } | ||
236 | - output rtmp://[vhost]:[port]/[app]/[stream]_mirror; | ||
237 | - } | ||
238 | - } | ||
239 | -} | ||
240 | -# the logo filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#crop | ||
241 | -vhost crop.transcode.vhost.com { | ||
242 | - transcode { | ||
243 | - enabled on; | ||
244 | - ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
245 | - engine crop{ | ||
246 | - enabled on; | ||
247 | - vfilter { | ||
248 | - vf 'crop=in_w-20:in_h-160:10:80'; | ||
249 | - } | ||
250 | - vcodec libx264; | ||
251 | - vbitrate 300; | ||
252 | - vfps 20; | ||
253 | - vwidth 480; | ||
254 | - vheight 320; | ||
255 | - vthreads 2; | ||
256 | - vprofile baseline; | ||
257 | - vpreset superfast; | ||
258 | - vparams { | ||
259 | - } | ||
260 | - acodec libaacplus; | ||
261 | - abitrate 30; | ||
262 | - asample_rate 44100; | ||
263 | - achannels 2; | ||
264 | - aparams { | ||
265 | - } | ||
266 | - output rtmp://[vhost]:[port]/[app]/[stream]_crop; | ||
267 | - } | ||
268 | - } | ||
269 | -} | ||
270 | -# the crop filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#crop | ||
271 | -vhost logo.transcode.vhost.com { | ||
272 | - transcode { | ||
273 | - enabled on; | ||
274 | - ffmpeg ./objs/ffmpeg/bin/ffmpeg; | ||
275 | - engine logo{ | ||
276 | - enabled on; | ||
277 | - vfilter { | ||
278 | - vf 'crop=200:100:10:10'; | ||
279 | - } | ||
280 | - vcodec libx264; | ||
281 | - vbitrate 300; | ||
282 | - vfps 20; | ||
283 | - vwidth 480; | ||
284 | - vheight 320; | ||
285 | - vthreads 2; | ||
286 | - vprofile baseline; | ||
287 | - vpreset superfast; | ||
288 | - vparams { | ||
289 | - } | ||
290 | - acodec libaacplus; | ||
291 | - abitrate 30; | ||
292 | - asample_rate 44100; | ||
293 | - achannels 2; | ||
294 | - aparams { | ||
295 | - } | ||
296 | - output rtmp://[vhost]:[port]/[app]/[stream]_logo; | ||
297 | - } | ||
298 | - } | ||
299 | -} | ||
300 | # transcode all stream using the empty ffmpeg demo, donothing. | 328 | # transcode all stream using the empty ffmpeg demo, donothing. |
301 | vhost ffempty.transcode.vhost.com { | 329 | vhost ffempty.transcode.vhost.com { |
302 | transcode { | 330 | transcode { |
trunk/doc/FreeSerifBold.ttf
0 → 100644
不能预览此文件类型
trunk/doc/ffmpeg-min.png
0 → 100644
6.2 KB
trunk/doc/readme.txt
0 → 100644
1 | +ffmpeg-logo.png | ||
2 | +ffmpeg-min.png | ||
3 | + ffmpeg的logo。 | ||
4 | +source.flv | ||
5 | + avatar预告片,400kbps。 | ||
6 | + | ||
7 | +FreeSerifBold.ttf | ||
8 | + 字体文件,ffmpeg的drawtext filter需要使用。 | ||
9 | + 参考:http://ffmpeg.org/ffmpeg-filters.html#drawtext-1 | ||
10 | + 下载地址:http://www.fonts2u.com/free-serif.font | ||
11 | + | ||
12 | +aac-iso-13818-7.pdf | ||
13 | + aac标准,aac的编码等。 | ||
14 | + | ||
15 | +aac-mp4a-format-ISO_IEC_14496-3+2001.pdf | ||
16 | + aac的封装标准,即ts/flv里面的aac raw data标准。 | ||
17 | + | ||
18 | +amf0_spec_121207.pdf | ||
19 | + adobe amf0标准 | ||
20 | + | ||
21 | +amf3_spec_121207.pdf | ||
22 | + adobe amf3标准。 | ||
23 | + | ||
24 | +H.264-AVC-ISO_IEC_14496-10.pdf | ||
25 | + avc标准,编码部分。 | ||
26 | + | ||
27 | +H.264-AVC-ISO_IEC_14496-15.pdf | ||
28 | + avc标准,封装部分。 | ||
29 | + | ||
30 | +H.264_MPEG-4-Part-10-White-Paper.pdf | ||
31 | + h264简介。 | ||
32 | + | ||
33 | +hls-m3u8-draft-pantos-http-live-streaming-12.txt | ||
34 | + m3u8标准。 | ||
35 | + | ||
36 | +hls-mpeg-ts-iso13818-1.pdf | ||
37 | + ts标准。 | ||
38 | + | ||
39 | +hls-mpeg-ts-VB_WhitePaper_TransportStreamVSProgramStream_rd2.pdf | ||
40 | + ts的介绍。 | ||
41 | + | ||
42 | +rtmp.part1.Chunk-Stream.pdf | ||
43 | +rtmp.part2.Message-Formats.pdf | ||
44 | +rtmp.part3.Commands-Messages.pdf | ||
45 | +rtmp_specification_1.0.pdf | ||
46 | + adobe rtmp标准。 | ||
47 | + | ||
48 | +video_file_format_spec_v10_1.pdf | ||
49 | + adobe f4v/flv标准。 |
This file is too large to display.
-
请 注册 或 登录 后发表评论