1. download crtmpserver source code
svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/trunk crtmpserver
2. install cmake
3. install openssl dev library
apt-get install openssl libssl-dev
4. install lua
download lua
compile and install
5. install tinyxml
apt-get install libtinyxml-dev
6. compile and install crtmpserver
compile script below
6.1 script 1, modify run script file.
#!/bin/bash
if [ $# != 2 ]; then
echo "Usage: $0 <mod_name> <rtmpd_prefix>"
exit 1
fi
#$1=rtmpd/builders/cmake
cd $1
rtmpd_prefix=$2
sed -i -e '/COMPILE_STATIC=/c\COMPILE_STATIC=1 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc -DCRTMPSERVER_INSTALL_PREFIX='''${rtmpd_prefix}''' .' run
sed -i '/killall/d' run
sed -i '/crtmpserver/d' run
sed -i '/make install/d' run
sed -i '$a make install' run
~
the run script is as the followings after modified.
rm -rf ../../media/*.seek
rm -rf ../../media/*.meta
#./renamebadfiles.sh
COMPILE_STATIC=1 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc -DCRTMPSERVER_INSTALL_PREFIX=/usr/local/stream .
if [ "$?" -ne "0" ]; then
exit 1;
fi
make
if [ "$?" -ne "0" ]; then
echo "build failed";
exit 1;
fi
make install
6.2 make by run
cd rtmpd/builders/cmake
./run
7. stream to crtmpserver
ffmpeg -f mpegts -i film.v -an -c:v libx264 -s 352x288 -aspect 4:3 -b:a 100k -b:v 200k -f flv 'rtmp://127.0.0.1:1935/flvplayback/live'
ffmpeg -f mpegts -i film.v -c:a libfaac -ac 1 -c:v libx264 -s 352x288 -aspect 4:3 -b:a 100k -b:v 200k -f flv 'rtmp://127.0.0.1:1935/flvplayback/live'
8. stream from crtmpserver
ffmpeg -i 'rtmp://192.168.0.158/flvplayback/live live=1' -an -c:v rawvideo -s 352x288 -f rawvideo rtmp.yuv
reference:
http://wiki.rtmpd.com/documentation
http://blog.chinaunix.net/uid-26000296-id-3085921.html
http://www.verydemo.com/demo_c104_i4133.html