Linux hls streaming ffmpeg+nginx

in #linux7 years ago (edited)

First you need to install ffmpeg on your linux server

now we need to install all necessary packets by typing
sudo -s

apt-get install make automake g++ bzip2 python unzip patch subversion ruby build-essential git-core checkinstall yasm texi2html libfaac-dev libmp3lame-dev

apt-get install build-essential

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xvzf yasm-1.2.0.tar.gz
cd yasm-1.2.0/
./configure
make
make install
cd ..

git clone git://git.videolan.org/x264.git
cd x264/
./configure --enable-shared
make
make install
cd ..

now we need to download and compile the latest ffmpeg version by typing

wget http://ffmpeg.org/releases/ffmpeg-3.3.3.tar.bz2
tar xvjf ffmpeg-3.3.3.tar.bz2
cd ffmpeg-3.3.3
./configure --enable-gpl --enable-libx264 --enable-libvpx
make
make install
ldconfig
cd ..

now we need to install nginx by typing

apt-get install nginx

now we need to go configure nginx by typing

cd /etc/nginx/site-enable
rm default
nano default

now we need to put our config

server {
listen 80;
server_name my.server;
location / {
root /var/www/html/;
}
}
service nginx restart

now we need to create the stream by typing

ffmpeg -i source -acodec copy -vcodec copy -f hls -hls_time 4 -hls_list_size 4 -hls_allow_cache 0 -hls_flags delete_segments /var/www/html/ch1.m3u8

now we can play our stream from remote machine by vlc

http://yourserver/ch1.m3u8

if you have any question you can leave the comments below

any donation is appreciated

btc 15QP34iQgVYP9qMZYyuV6KkaxiuiumGACj

Coin Marketplace

STEEM 0.21
TRX 0.27
JST 0.040
BTC 102367.04
ETH 3705.53
USDT 1.00
SBD 3.23