v1_EN_SampleTranscode2HLS (original) (raw)

HOME > EN > HLS

Transcode for HLS deploy example

HLS required h.264+aac, user can transcode for other codecs.

Pure audio HLS, read HLS audio only

Suppose the server ip is 192.168.1.170

Step 1, get SRS. For detail, read GIT

git clone https://github.com/ossrs/srs cd srs/trunk

Or update the exists code:

Step 2, build SRS. For detail, read Build

./configure --with-nginx --with-ffmpeg && make

Step 3, start nginx to delivery hls(m3u8+ts). For detail, read HLS

sudo ./objs/nginx/sbin/nginx

Note: Ensure nginx is ok, to access nginx.

Step 4, config srs. For detail, read HLS

Save bellow as config, or use conf/transcode2hls.audio.only.conf:

conf/transcode2hls.audio.only.conf

listen 1935; max_connections 1000; vhost defaultVhost { hls { enabled on; hls_path ./objs/nginx/html; hls_fragment 10; hls_window 60; } transcode { enabled on; ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine ff { enabled on; vcodec copy; acodec libaacplus; abitrate 45; asample_rate 44100; achannels 2; aparams { } output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; } } }

Step 5, strat SRS. For detail, read HLS

./objs/srs -c conf/transcode2hls.audio.only.conf

Step 6, start encoder. For detail, read HLS

Use FFMPEG to publish stream:

for((;;)); do \
    ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \
    -vcodec copy -acodec copy \
    -f flv -y rtmp://192.168.1.170/live/livestream; \
    sleep 1; \
done

Or use FMLE to publish:

FMS URL: rtmp://192.168.1.170/live Stream: livestream

The stream in SRS:

Note: we can use another vhost to output HLS, other codecs transcode then output to this vhost.

Step 7, play RTMP. For detail, read HLS

RTMP url is: rtmp://192.168.1.170:1935/live/livestream_ff

User can use vlc to play the RTMP stream.

Or, use online SRS player: srs-player-ff

Note: Please replace all ip 192.168.1.170 to your server ip.

Step 8, play HLS. For detail, read HLS

HLS url: http://192.168.1.170/live/livestream_ff.m3u8

User can use vlc to play the HLS stream.

Or, use online SRS player: jwplayer-ff

Note: Please replace all ip 192.168.1.170 to your server ip.

Winlin 2014.11