Mercurial > hg > nginx-site
comparison xml/en/docs/http/ngx_http_mp4_module.xml @ 2797:17ed19394953
Documented the mp4_start_key_frame directive.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Mon, 15 Nov 2021 12:52:47 +0000 |
parents | bcdb13e1e8c6 |
children | 9eadb98ec770 |
comparison
equal
deleted
inserted
replaced
2796:bcdb13e1e8c6 | 2797:17ed19394953 |
---|---|
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
8 | 8 |
9 <module name="Module ngx_http_mp4_module" | 9 <module name="Module ngx_http_mp4_module" |
10 link="/en/docs/http/ngx_http_mp4_module.html" | 10 link="/en/docs/http/ngx_http_mp4_module.html" |
11 lang="en" | 11 lang="en" |
12 rev="8"> | 12 rev="9"> |
13 | 13 |
14 <section id="summary"> | 14 <section id="summary"> |
15 | 15 |
16 <para> | 16 <para> |
17 The <literal>ngx_http_mp4_module</literal> module provides pseudo-streaming | 17 The <literal>ngx_http_mp4_module</literal> module provides pseudo-streaming |
80 argument, nginx will read the metadata from the file, prepare the | 80 argument, nginx will read the metadata from the file, prepare the |
81 stream with the requested time range, and send it to the client. | 81 stream with the requested time range, and send it to the client. |
82 This has the same overhead as described above. | 82 This has the same overhead as described above. |
83 </para> | 83 </para> |
84 | 84 |
85 <para id="keyframe"> | |
86 If the <literal>start</literal> argument points to | |
87 a non-key video frame, | |
88 the beginning of such video will be broken. | |
89 To fix this issue, the video | |
90 <link id="mp4_start_key_frame">can</link> be prepended with | |
91 the key frame before <literal>start</literal> point | |
92 and with all intermediate frames between them. | |
93 These frames will be hidden from playback | |
94 using an edit list (1.21.4). | |
95 </para> | |
96 | |
85 <para> | 97 <para> |
86 If a matching request does not include the | 98 If a matching request does not include the |
87 <literal>start</literal> and <literal>end</literal> | 99 <literal>start</literal> and <literal>end</literal> |
88 arguments, there is no overhead, and the file is sent simply as a static | 100 arguments, there is no overhead, and the file is sent simply as a static |
89 resource. | 101 resource. |
229 </note> | 241 </note> |
230 </para> | 242 </para> |
231 | 243 |
232 </directive> | 244 </directive> |
233 | 245 |
246 | |
247 <directive name="mp4_start_key_frame"> | |
248 <syntax><literal>on</literal> | <literal>off</literal></syntax> | |
249 <default>off</default> | |
250 <context>http</context> | |
251 <context>server</context> | |
252 <context>location</context> | |
253 <appeared-in>1.21.4</appeared-in> | |
254 | |
255 <para> | |
256 Forces output video to always start with a key video frame. | |
257 If the <literal>start</literal> argument does not point to a key frame, | |
258 initial frames are hidden using an mp4 edit list. | |
259 Edit lists are supported by major players and browsers such as | |
260 Chrome, Safari, QuickTime and ffmpeg, | |
261 partially supported by Firefox. | |
262 </para> | |
263 | |
264 </directive> | |
265 | |
234 </section> | 266 </section> |
235 | 267 |
236 </module> | 268 </module> |