Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1426232
  • 博文数量: 188
  • 博客积分: 1784
  • 博客等级: 上尉
  • 技术积分: 2772
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-05 22:20
个人简介

发上等愿,结中等缘,享下等福;择高处立,就平处坐,向宽处行。

文章分类

全部博文(188)

文章存档

2020年(12)

2019年(11)

2018年(4)

2017年(3)

2016年(11)

2015年(22)

2014年(19)

2013年(25)

2012年(32)

2011年(49)

分类: Windows平台

2014-01-07 16:41:01

Step by step instructions for using FFmpeg as a live video/audio encoder with Wowza Media Server.

 

Updated for FFMpeg build r25705 (22 November 2010)

 

Note: Wowza Media Systems provides these instructions on as "AS-IS" basis. FFmpeg is not a Wowza Media Systems product. If you have problems getting FFmpeg to work properly it is best to contact the FFmpeg through their forums or wiki.

 

To get started, download and install FFmpeg for your platform on the same machine running Wowza Media Server. We will be re-streaming the sample filesample.mp4. The following tutorial is for Windows only. I used the most recent daily build of FFmpeg from this site:

 

 (编译好的windows版FFmpeg下载地址)

 

FFmpeg Setup (Windows)

  1. In the root the C: drive create the following directory structure:
    Code:
    C:/usr/local/share/ffmpeg
    Copy all the files from the presets folder of the FFmpeg package into this new directory.
  2. Open a command prompt and change directory to the FFmpeg bin folder.
  3. Enter the following FFmpeg command which will re-streaming the file sample.mp4 from the [install-dir]/content folder of the Wowza Media Server 2 installation:
    Code:
    ffmpeg -i "%WMSAPP_HOME%/content/sample.mp4" -re -vcodec libx264 -vpre default -vpre baseline -g 60 -vb 150000 -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127.0.0.1:10000?pkt_size=1316

 

上面的代码有误,应该为:

ffmpeg -i "%WMSAPP_HOME%/content/sample.mp4" -re -vcodec libx264 -fpre C:\usr\local\share\ffmpeg\libx264-ipod640.ffpreset  -g 60 -vb 150000 -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127.0.0.1:10000?pkt_size=1316

 

使用ffmpeg实时转码mms直播流有问题,官方文档使用mmst(mms over tcp)或者mmsh(mms over http),使用时均报错。待解决。

解决办法:开启wms的http功能,在根节点上开启。使用播放地址:mmsh://220.189.247.171/yswh,mmst播放有问题。

 

Next, follow the instructions in the following tutorial article:

 

 

 

 

See Also:

FFmpeg Documentation

 

Note: The sample.mp4 file is about 6 minutes long. FFmpeg will stop when it hits the end of this file. So you may have to re-start FFmpeg several times during configuration and testing.

 

Note: The above FFmpeg command lines will produce a low bitrate, low complexity, low quality stream that should be playable on most playback devices and systems. The following is a higher quality version just to provide a glimpse of what VLC can do:

 

Code:

ffmpeg -i "%WMSAPP_HOME%/content/sample.mp4" -re -vcodec libx264 -vpre default -vpre main -g 60 -vb 500000 -strict experimental -acodec aac -ab 128000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127.0.0.1:10000?pkt_size=1316

Note: FFmpeg can also be used to transcode a RTSP, native RTP or MPEG-TS stream. Simply change the first argument of each of the command lines (the path to the sample.mp4 file) to the desired source to be transcoded and remove the -re command line option. Here are a few examples:

 

Code:

RTSP/RTP camera:
ffmpeg -i "rtsp://192.168.1.22/mycamera" -vcodec libx264 -vpre default -vpre baseline -g 60 -vb 150000 -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127.0.0.1:10000?pkt_size=1316

MPEG-TS stream:
ffmpeg -i "udp://localhost:1234" -vcodec libx264 -vpre default -vpre baseline -g 60 -vb 150000 -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127.0.0.1:10000?pkt_size=1316

Native RTP stream:
ffmpeg -i "unicast.sdp" -vcodec libx264 -vpre default -vpre baseline -g 60 -vb 150000 -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127.0.0.1:10000?pkt_size=1316

Note: If you would like to host FFmpeg on a different machine as the server hosting Wowza Media Server, you can modify any of the command lines above by changingudp://127.0.0.1:10000 to the IP address of the server running Wowza Media Server 2 and any destination UDP port. Be sure the specified UDP port is open on any routers or firewalls between the server running VLC and the server running Wowza Server.

 

Note: FFmpeg can publish stream using other outgoing protocols such as RTMP and RTSP/RTP (QuickTime ANNOUNCE).

 

To send a stream using RTMP, change the destination portion of the FFmpeg URL:

 

Code:

from:
-f mpegts udp://127.0.0.1:10000?pkt_size=1316

to:
-f flv rtmp://127.0.0.1/live/myStream

The format of the RTMP URL portion is:

 

Code:

rtmp://[wowza-ip-address]/[application]/[streamName]

To send a stream using RTSP/RTP, change the destination portion of the FFmpeg URL:

 

Code:

from:
-f mpegts udp://127.0.0.1:10000?pkt_size=1316

to:
-f rtsp rtsp://127.0.0.1:1935/live/myStream.sdp

The format of the RTMP URL portion is:

 

Code:

rtsp://[wowza-ip-address]:1935/[application]/[streamName]

  • Leave a comment below, if there is some aspect of this article you would like to see changed or improved

 

阅读(2962) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~