使用vlc-1.0.5.tar.bz2 + live555-2010.01.tar.gz
exportMYDIR=/root/lf
将live555-2010.01.tar.gz和vlc-1.0.5.tar.bz2放置在$MYDIR下
cd$MYDIR
tar xvfzlive555-2010.01.tar.gz
cd live
./genMakefileslinux
make
rpm -hiv libdvbpsi-0.1.7-1.el4.rf.i386.rpm
rpm -hiv libdvbpsi-devel-0.1.7-1.el4.rf.i386.rpm
需要什么rpm可到http://apt.sw.be/redhat/el4/en/i386/rpmforge/RPMS/中下载
./configure--prefix=/usr --enable-debug --disable-avcodec --disable-hal --disable-avformat--disable-swscale --disable-a52 --disable-x11 --disable-sdl --disable-fribidi--disable-dbus --disable-libgcrypt --disable-gnutls --disable-remoteosd --disable-skins2 --disable-qt4 --disable-libxml2 --disable-lua --disable-xcb --disable-alsa--disable-v4l2 --disable-qt --enable-run-as-root --enable-live555--with-live555-tree=$MYDIR/live --disable-mad --disable-postproc --enable-dvbpsi --enable-x264
../include/vlc_threads.h:240:error: syntax error before "vlc_spinlock_t"
……
make[4]:*** [control/libvlc_la-vlm.lo] Error 1
make[4]:Leaving directory `/root/lf/vlc-1.0.5/src'
make[3]:*** [all-recursive] Error 1
make[3]:Leaving directory `/root/lf/vlc-1.0.5/src'
make[2]:*** [all] Error 2
make[2]:Leaving directory `/root/lf/vlc-1.0.5/src'
make[1]:*** [all-recursive] Error 1
make[1]:Leaving directory `/root/lf/vlc-1.0.5'
make:*** [all] Error 2
通过以下命令解决:
sed -e's/define\s*_POSIX_SPIN_LOCKS\s*/define _POSIX_SPIN_LOCKS -1 \/\/ wrong: /g' -i/usr/include/bits/posix_opt.h
file.c:52:28:linux/magic.h: No such file or directory
file.c:In function `IsRemote':
file.c:141:error: `AFS_SUPER_MAGIC' undeclared (first use in this function)
file.c:141:error: (Each undeclared identifier is reported only once
file.c:141:error: for each function it appears in.)
file.c:142:error: `CODA_SUPER_MAGIC' undeclared (first use in this function)
file.c:143:error: `NCP_SUPER_MAGIC' undeclared (first use in this function)
file.c:144:error: `NFS_SUPER_MAGIC' undeclared (first use in this function)
file.c:145:error: `SMB_SUPER_MAGIC' undeclared (first use in this function)
make[5]:*** [libaccess_file_plugin_la-file.lo] Error 1
make[5]:Leaving directory `/root/lf/vlc-1.0.5/modules/access'
make[4]:*** [all-recursive] Error 1
make[4]:Leaving directory `/root/lf/vlc-1.0.5/modules/access'
make[3]:*** [all] Error 2
make[3]:Leaving directory `/root/lf/vlc-1.0.5/modules/access'
make[2]:*** [all-recursive] Error 1
make[2]:Leaving directory `/root/lf/vlc-1.0.5/modules'
make[1]:*** [all-recursive] Error 1
make[1]:Leaving directory `/root/lf/vlc-1.0.5'
make:*** [all] Error 2
将下面的magic.h文件复制到/usr/include/linux/目录下
vlc -l | grep access_output
access_output_udp UDP stream output
access_output_http HTTP stream output
access_output_file File stream output
access_output_dummy Dummy stream output
access_output_rtmp RTMP stream output
vlc -l | grep dvbpsi
mux_ts TS muxer (libdvbpsi)
Ø 不经视音频重编码的直接转码:
vlc rtsp://172.17.0.219:8554/1--sout '#standard{access=http, mux=ts,dst=172.17.0.100:1234}'
注:黑体部分为本机IP和端口,不能是127.0.0.1
vlc rtsp://172.17.0.219:8554/1--sout '#duplicate{dst="std{access=udp, mux=ts, dst=172.17.1.116:1234}"}'
vlcrtsp://172.17.0.219:8554/1 --sout '#duplicate{dst="std{access=http, mux=ts,dst=172.17.0.100:1234}"}'
./configure--prefix=/usr --enable-libfaac--enable-libx264 --enable-pthreads --disable-ffserver --disable-ffplay--enable-gpl --enable-nonfree
[[email protected]]# make
common.mak:28:*** unterminated call to function `foreach': missing `)'. Stop.
出现上面错误需要更新Make版本,使用make-3.81.tar.gz
./configure--prefix=/usr;make;make install
In fileincluded from libavdevice/v4l.c:33:
/usr/include/linux/videodev.h:56:error: syntax error before "ulong"
/usr/include/linux/videodev.h:72:error: syntax error before '}' token
编辑/usr/include/linux/videodev.h第56行,把ulong改为 unsigned long
./configure--prefix=/usr --enable-debug --enable-avcodec --disable-hal --disable-avformat--disable-swscale --disable-a52 --disable-x11 --disable-sdl --disable-fribidi--disable-dbus --disable-libgcrypt --disable-gnutls --disable-remoteosd --disable-skins2 --disable-qt4 --disable-libxml2 --disable-lua --disable-xcb --disable-alsa--disable-v4l2 --disable-qt --enable-run-as-root --enable-live555--with-live555-tree=$MYDIR/live --disable-mad --disable-postproc --enable-dvbpsi --enable-x264
没有--enable-avcodec运行VLC转码会出现"cannot find video decoder"的错误。
vlctcp://172.17.0.199:7799 --sout'#duplicate{dst="transcode{venc=x264{profile=baseline},vcodec=h264,acodec=mpga,vb=644,ab=56}:std{access=udp,mux=ts,dst=172.17.0.219:1234}"}'
使用VLC转时,不要激活转码
可正常工作的选项:
:sout=#http{mux=ts,dst=:8080/1} :sout-keep
:sout=#udp{mux=ts,dst=172.17.1.116:1234} :sout-keep
http://www.videolan.org/doc/videolan-howto/en/ch09.html
ffmpeg -i "rtsp://172.17.0.219:8554/1"-acodec libfaac -vcodec libx264 -vpre default -f mpegts -async 1udp://127.0.0.1:3344
./configure --prefix=/usr --enable-libfaac --enable-libx264--enable-pthreads --disable-ffserver --disable-ffplay --enable-gpl --enable-nonfree
转码
ffmpeg -i"rtsp://172.17.0.219:8080/1" -acodec libfaac -vcodec libx264 -vpredefault -f mpegts -async 1 udp://172.17.0.219:3344