annotate xml/en/docs/http/ngx_http_mp4_module.xml @ 1878:127ae107e5a9

Removed clause about shared memory and Windows versions with ASLR. Starting with nginx 1.9.0 shared memory can be used on Windows versions with address space layout randomization.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 26 Dec 2016 19:38:06 +0300
parents 4e20e4f8f49b
children bcdb13e1e8c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1 <?xml version="1.0"?>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
4 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
5 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
6
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8
89
f451dc5c5c82 Module names corrected.
Ruslan Ermilov <ru@nginx.com>
parents: 88
diff changeset
9 <module name="Module ngx_http_mp4_module"
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10 link="/en/docs/http/ngx_http_mp4_module.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
11 lang="en"
1115
65bc9d1ec234 MP4 and HLS: updated the "buffer size" phrase for _buffer_size directives.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1106
diff changeset
12 rev="7">
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
14 <section id="summary">
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
17 The <literal>ngx_http_mp4_module</literal> module provides pseudo-streaming
1105
eb3713019359 The module is no longer restricted to acv1/mp4a.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1104
diff changeset
18 server-side support for MP4 files.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
19 Such files typically have the <path>.mp4</path>, <path>.m4v</path>,
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
20 or <path>.m4a</path> filename extensions.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23 <para>
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
24 Pseudo-streaming works in alliance with a compatible Flash player.
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
25 The player sends an HTTP request to the server with the start time
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
26 specified in the query string argument (named simply
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 151
diff changeset
27 <literal>start</literal>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
28 and specified in seconds), and the server responds with the stream
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
29 such that its start position corresponds to the requested time,
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
30 for example:
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31 <example>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32 http://example.com/elephants_dream.mp4?start=238.88
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
33 </example>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
34 This allows performing a random seeking at any time, or starting playback
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
35 in the middle of the timeline.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
36 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38 <para>
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
39 To support seeking, H.264-based formats store metadata
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
40 in a so-called “moov atom”.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41 It is a part of the file that holds the index information for the
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
42 whole file.
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
44
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
45 <para>
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
46 To start playback, the player first needs to read metadata.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
47 This is done by sending a special request with the
1096
f34be6b26447 Corrected text formatting for ngx_http_mp4_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1088
diff changeset
48 <literal>start=0</literal> argument.
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
49 A lot of encoding software insert the metadata at
1096
f34be6b26447 Corrected text formatting for ngx_http_mp4_module.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1088
diff changeset
50 the end of the file.
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
51 This is suboptimal for pseudo-streaming, because the player
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
52 has to download the entire file before starting playback.
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
53 If the metadata are located at the beginning of the file,
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
54 it is enough for nginx to simply start sending back the file contents.
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
55 If the metadata are located at the end of the file,
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
56 nginx must read the entire file and prepare a new stream so that
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
57 the metadata come before the media data.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
58 This involves some CPU, memory, and disk I/O overhead,
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59 so it is a good idea to
52
666e85596e3c Added support for <link url="..."> which should eventually replace
Ruslan Ermilov <ru@nginx.com>
parents: 33
diff changeset
60 <link
666e85596e3c Added support for <link url="..."> which should eventually replace
Ruslan Ermilov <ru@nginx.com>
parents: 33
diff changeset
61 url="http://flowplayer.org/plugins/streaming/pseudostreaming.html#prepare">
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
62 prepare an original file for pseudo-streaming</link> in advance,
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
63 rather than having nginx do this on every such request.
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
64 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
65
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
66 <para>
1106
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
67 The module also supports the <literal>end</literal> argument of an HTTP request
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
68 (1.5.13) which sets the end point of playback.
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
69 The <literal>end</literal> argument can be specified with the
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
70 <literal>start</literal> argument
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
71 or separately:
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
72 <example>
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
73 http://example.com/elephants_dream.mp4?start=238.88&amp;end=555.55
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
74 </example>
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
75 </para>
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
76
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
77 <para>
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
78 For a matching request with a non-zero
1106
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
79 <literal>start</literal> or <literal>end</literal>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
80 argument, nginx will read the metadata from the file, prepare the
1106
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
81 stream with the requested time range, and send it to the client.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
82 This has the same overhead as described above.
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
83 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
84
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
85 <para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
86 If a matching request does not include the
1106
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
87 <literal>start</literal> and <literal>end</literal>
5a7f86254a34 Mp4: documented the "end" request argument support.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1105
diff changeset
88 arguments, there is no overhead, and the file is sent simply as a static
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
89 resource.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
90 Some players also support byte-range requests, and thus do not require
1104
028f6a4d8046 Corrected punctuation, grammar, style, rephrased some sentences.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1103
diff changeset
91 this module.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
92 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
93
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
94 <para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
95 This module is not built by default, it should be enabled with the
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 151
diff changeset
96 <literal>--with-http_mp4_module</literal>
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
97 configuration parameter.
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
98 <note>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
99 If a third-party mp4 module was previously used, it should be disabled.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
100 </note>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
101 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
102
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
103 <para>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
104 A similar pseudo-streaming support for FLV files is provided by the
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
105 <link doc="ngx_http_flv_module.xml">ngx_http_flv_module</link> module.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
106 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
107
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
108 </section>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
109
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
110
53
60796d056dde Renamed section name "Usage example" to "Example Configuration"
Ruslan Ermilov <ru@nginx.com>
parents: 52
diff changeset
111 <section id="example" name="Example Configuration">
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
112
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
113 <para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
114 <example>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
115 location /video/ {
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
116 mp4;
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
117 mp4_buffer_size 1m;
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
118 mp4_max_buffer_size 5m;
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
119 mp4_limit_rate on;
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
120 mp4_limit_rate_after 30s;
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
121 }
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
122 </example>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
123 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
124
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
125 </section>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
126
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
127
33
ae5aca1efe2c Using new <module> and <section> format in ngx_http_mp4_module.xml.
Igor Sysoev <igor@sysoev.ru>
parents: 22
diff changeset
128 <section id="directives" name="Directives">
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
129
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
130 <directive name="mp4">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 89
diff changeset
131 <syntax/>
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
132 <default/>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
133 <context>location</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
134
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
135 <para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
136 Turns on module processing in a surrounding location.
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
137 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
138
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
139 </directive>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
140
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
141
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
142 <directive name="mp4_buffer_size">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 151
diff changeset
143 <syntax><value>size</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 89
diff changeset
144 <default>512K</default>
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
145 <context>http</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
146 <context>server</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
147 <context>location</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
148
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
149 <para>
1153
4e20e4f8f49b Finished truncation of "memory buffers" to just "buffers".
Ruslan Ermilov <ru@nginx.com>
parents: 1128
diff changeset
150 Sets the initial <value>size</value> of the buffer used for
4e20e4f8f49b Finished truncation of "memory buffers" to just "buffers".
Ruslan Ermilov <ru@nginx.com>
parents: 1128
diff changeset
151 processing MP4 files.
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
152 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
153
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
154 </directive>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
155
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
156
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
157 <directive name="mp4_max_buffer_size">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 151
diff changeset
158 <syntax><value>size</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 89
diff changeset
159 <default>10M</default>
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
160 <context>http</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
161 <context>server</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
162 <context>location</context>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
163
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
164 <para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
165 During metadata processing, a larger buffer may become necessary.
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 151
diff changeset
166 Its size cannot exceed the specified <value>size</value>,
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
167 or else nginx will return the
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
168 <http-status code="500" text="Internal Server Error"/> server error,
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 956
diff changeset
169 and log the following message:
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
170 <example>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
171 "/some/movie/file.mp4" mp4 moov atom is too large:
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
172 12583268, you may want to increase mp4_max_buffer_size
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
173 </example>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
174 </para>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
175
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
176 </directive>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
177
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
178
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
179 <directive name="mp4_limit_rate">
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
180 <syntax>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
181 <literal>on</literal> |
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
182 <literal>off</literal> |
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
183 <value>factor</value></syntax>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
184 <default>off</default>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
185 <context>http</context>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
186 <context>server</context>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
187 <context>location</context>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
188
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
189 <para>
1103
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
190 Limits the rate of response transmission to a client.
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
191 The rate is limited based on the average bitrate of the
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
192 MP4 file served.
956
488a3f738db0 Text revision of commercial modules.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
193 To calculate the rate, the bitrate is multiplied by the specified
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
194 <value>factor</value>.
956
488a3f738db0 Text revision of commercial modules.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
195 The special value “<literal>on</literal>” corresponds to the factor of 1.1.
1103
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
196 The special value “<literal>off</literal>” disables rate limiting.
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
197 The limit is set per a request, and so if a client simultaneously opens
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
198 two connections, the overall rate will be twice as much
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
199 as the specified limit.
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
200 </para>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
201
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
202 <para>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
203 <note>
1128
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1115
diff changeset
204 This directive is available as part of our
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1115
diff changeset
205 <commercial_version>commercial subscription</commercial_version>.
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
206 </note>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
207 </para>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
208
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
209 </directive>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
210
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
211
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
212 <directive name="mp4_limit_rate_after">
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
213 <syntax><value>time</value></syntax>
1103
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
214 <default>60s</default>
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
215 <context>http</context>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
216 <context>server</context>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
217 <context>location</context>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
218
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
219 <para>
1103
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
220 Sets the initial amount of media data (measured in playback time)
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
221 after which the further transmission of the response to a client
1fcf8c840dbe Corrected EN text of mp4_limit_rate, mp4_limit_rate_after, translated into RU.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1096
diff changeset
222 will be rate limited.
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
223 </para>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
224
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
225 <para>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
226 <note>
1128
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1115
diff changeset
227 This directive is available as part of our
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1115
diff changeset
228 <commercial_version>commercial subscription</commercial_version>.
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
229 </note>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
230 </para>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
231
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
232 </directive>
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 659
diff changeset
233
22
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
234 </section>
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
235
9d3403f5204d nginx-1.1.3, ngx_http_mp4_module
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
236 </module>