【问题标题】:Transcoding rtmp to hlsrtmp 转 hls
【发布时间】:2013-10-12 18:37:34
【问题描述】:

我在 ubuntu 12.04 上将我的 rtmp 直播流转码为 hls:

    apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libvorbis-dev pkg-config texi2html yasm zlib1g-dev apache2

cd /usr/src/
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar -xzf yasm-1.2.0.tar.gz
cd /usr/src/yasm-1.2.0
./configure
make
sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no --deldoc=yes --fstrans=no --default

cd /usr/src/
git clone --depth 1 git://git.videolan.org/x264
cd /usr/src/x264
./configure --enable-shared
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default

cd /usr/src/
wget http://downloads.sourceforge.net/opencore-amr/fdk-aac-0.1.0.tar.gz
tar -xzf fdk-aac-0.1.0.tar.gz
cd /usr/src/fdk-aac-0.1.0
./configure
make
sudo checkinstall --pkgname=fdk-aac --pkgversion="0.1.0" --backup=no --deldoc=yes --fstrans=no --default

cd /usr/src/
git clone --depth 1 http://git.chromium.org/webm/libvpx.git
cd /usr/src/libvpx
./configure
make
sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

echo "/usr/local/lib/" >> /etc/ld.so.conf
ldconfig

cd /usr/src/
wget http://libav.org/releases/libav-snapshot.tar.bz2
tar -xjf libav-snapshot.tar.bz2
cd /usr/src/liba*
./configure --disable-debug --enable-librtmp --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libx264 --enable-gpl --enable-version3 --enable-shared
make -j4
sudo checkinstall --pkgname=libav --pkgversion="9-887-g25a80a9" --backup=no --deldoc=yes --fstrans=no --default
ldconfig


How to do Apple HLS using Avconv
mkdir /var/www/hls
ln -s /run/shm /var/www/hls

RUN This command 
avconv -re -i 'rtmp://RED_5_IP/live/stream_name' -bsf h264_mp4toannexb -vcodec libx264 -acodec libfaac -b:v 448k -b:a 40k -ar 22050 -s 640x360 -hls_time 10 -hls_list_size 4 /var/www/hls/output_a_.m3u8

但是当我运行最后一部分时,我的流媒体没有开始,我收到了这个错误:

avconv:重定位错误:/usr/local/lib/libavfilter.so.3:符号 sws_isSupportedEndiannessConversion,版本 LIBSWSCALE_2 未在带有链接时间参考的文件 libswscale.so.2 中定义

我该怎么办?

谢谢。

【问题讨论】:

标签: ios rtmp http-live-streaming transcoding avconv


【解决方案1】:

问题是 avconv 无法加载正确的 libav 库。问题可能是/usr/local/lib 不在您的链接器路径中。您可以将其添加到/etc/ld.so.conf 文件中,然后运行ldconfig

另一种解决方案是静态编译 libav。 这可以通过改变这个来完成

./configure --disable-debug --enable-librtmp --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libx264 --enable-gpl --enable-version3 --enable-shared

到这里

./configure --disable-debug --enable-librtmp --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libx264 --enable-gpl --enable-version3 --enable-static

【讨论】:

  • 谢谢。我做了第二个解决方案,但发生了这个错误:关闭连接:NetStream.Play.StreamNotFound rtmp://192.168.1.109/live/1lv:发生未知错误
  • @MohammadAliFayyaz 您可以针对错误提出一个新问题。但是您确定该流以该名称存在吗?
  • 没有人回答我的问题!我的流名称是正确的,我可以播放我的流。如果可以,请检查此错误。
猜你喜欢
  • 1970-01-01
  • 2014-05-10
  • 2020-08-20
  • 2021-03-06
  • 1970-01-01
  • 2019-01-27
  • 1970-01-01
  • 2019-03-25
  • 1970-01-01
相关资源
最近更新 更多