Files
nginx-rtmp-module/index.html
Roman Arutyunyan 16f15df9ca added contacts block
2012-07-13 14:53:00 +04:00

179 lines
5.0 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>Nginx-rtmp-module by arut</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>Nginx-rtmp-module</h1>
<h2>NGINX-based Media Streaming Server</h2>
</header>
<section id="downloads" class="clearfix">
<a href="https://github.com/arut/nginx-rtmp-module/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<a href="https://github.com/arut/nginx-rtmp-module/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a>
<a href="https://github.com/arut/nginx-rtmp-module" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h2>Wiki manual</h2>
<p><a href="https://github.com/arut/nginx-rtmp-module/wiki">https://github.com/arut/nginx-rtmp-module/wiki</a></p>
<h2>Features</h2>
<ul>
<li><p>Live streaming of video/audio</p></li>
<li><p>Video on demand (FLV)</p></li>
<li><p>Stream relay support for distributed
streaming: push &amp; pull models</p></li>
<li><p>Recording published streams in FLV file</p></li>
<li><p>H264/AAC support</p></li>
<li><p>Online transcoding with FFmpeg
(experimental; Linux only)</p></li>
<li><p>HLS (HTTP Live Streaming) support
(experimental; libavformat &gt;= 53.31.100)</p></li>
<li><p>HTTP callbacks on publish/play/record</p></li>
<li><p>Advanced buffering techniques
to keep memory allocations at a minimum
level for faster streaming and low
memory footprint</p></li>
<li><p>Works with Flash RTMP clients as well as
ffmpeg/rtmpdump/flvstreamer etc
(see examples in test/ subdir)</p></li>
<li><p>Statistics in XML/XSL in machine- &amp; human-
readable form</p></li>
</ul>
<h2>Build:</h2>
<p>cd to NGINX source directory &amp; run this:</p>
<pre>
./configure --add-module=/path/to.nginx-rtmp-module
make
make install
</pre>
<h2>Examples of nginx.conf</h2>
<h3>Simple Live Streaming</h3>
<pre>
rtmp {
server {
listen 1935;
application mytv {
# enable live streaming
live on;
# record first 1K of stream
record all;
record_path /tmp/av;
record_max_size 1K;
# append current timestamp to each flv
record_unique on;
}
}
}
</pre>
<h3>Transcoding</h3>
<pre>
application big {
live on;
exec /usr/bin/ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 32x32 -f flv rtmp://localhost:1935/small/${name};
}
application small {
live on;
# Video with reduced resolution comes here from ffmpeg
}
</pre>
<h3>Pushing stream</h3>
<pre>
application mypush {
live on;
# Every stream published here
# is automatically pushed to
# these two machines
push rtmp1.example.com;
push rtmp2.example.com:1934;
}
</pre>
<h3>Pulling stream</h3>
<pre>
application mypull {
live on;
# Pull all streams from remote machine
# and play locally
pull rtmp://rtmp3.example.com pageUrl=www.example.com/index.html;
}
</pre>
<h3>Video on demand</h3>
<pre>
application vod {
play /var/flvs;
}
</pre>
<h3>HLS (HTTP Live Streaming)</h3>
<pre>
application hls {
hls on;
hls_path /tmp/app;
hls_fragment 5s;
}
</pre>
<h2>Donation</h2>
If you want to support the project use the following services.
<h3>PayPal</h3>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="L5JANTRG78XE4">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
<h3>Yandex Money</h3>
<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/embed/shop.xml?uid=410011494348442&amp;writer=seller&amp;targets=%d0%a0%d0%b0%d0%b7%d0%b2%d0%b8%d1%82%d0%b8%d0%b5+%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b0+nginx-rtmp&amp;default-sum=&amp;button-text=03&amp;hint=&amp;fio=on&amp;mail=on" width="450" height="162"></iframe>
<h2>Contacts</h2>
<p>Project author: Roman Arutyunyan</p>
<p><a href="mailto:arut@qip.ru">arut@qip.ru</a> (e-mail and jabber)</p>
<p><a href="mailto:arutyunyan.roman@gmail.com">arutyunyan.roman@gmail.com</a></p>
</section>
</div>
</div>
</body>
</html>