下面是在学习vlc过程中,将http://www.sopcast.com/docs/encoder2.html,翻译所写,如果那里翻译的不好,欢迎大家批评指正,也推荐大家直接看原英文版。
Encode H.264with VLC
§ 1. 介绍
§ 2. 硬件要求
§ 3. 软件要求
§ 4. VLC编码指南
§ 4.1 检查 TV 卡
§ 4.2 H.264 串流
§ 4.3 检查直播流
§ 5. VLC 在命令模式编码 (高级)
§ 5.1 VLC 命令行
§ 5.2 VLC 输入选项
§ 5.3 VLC 输出选项
§ 6.用SopServer公开流
1. 介绍
本指南将解释使用VLC串流直播TV到互联网或局域网中的基本步骤.
2. 硬件必备
用TV-in/Video-in捕获卡.
3. 软件必备
VLC,本文推荐使用vlc1.1.4来编码直播H.264的码流.
可以从http://download.videolan.org/pub/videolan/vlc/1.1.4/下载.
4. VLC编码指南
4.1 检查 TV 卡
首先你要检查你的TV卡是否正确的安装,并且可以在VLC中正常使用.
打开VLC,选择“媒体”->“打开捕获设备”.
在“捕获设备”页中选择合适的视频和音频设备,单击“Play”按钮.
如果VLC正常的播放图片和声音,就以为这你的TV卡是好的,你可以继续进行直播推流.
4.2 H.264 串流
打开VLC,选择“媒体”->“流”.
选择合适的视频和音频设别。在“高级选项”中,可以设置一些高级配置。单击“串流”按钮.
在弹出的窗口中单击“下一步”.
在“目的地”组合框中,选择“HTTP”,单击“添加”.
选择合适的端口,如“8080”.
在“转码选项”组合框中,单击“New profile”按钮.
在“profile name”中输入一个有意义的名称.在“封装”页,你根据偏好选择.本文推荐“MPEG-TS”.
在“视频编解码”页,勾选“Video”复选框,选择H-264编解码.选择合适的元速率.其值可以在400kbps到2000kbps.这取决于你的带宽.如果你上传带宽小于1Mbps,我们推荐该值设为400~500kbps. .如果你上传带宽大于10Mbps,你就可以选择更高的元速率,如1500kbps.
在“音频编解码”页,选中“Audio”复选框,编解码器选择MP3.在所有参数都正确配置后,单击“保存”.
在“转码选项”组合框,你可以选择自己刚刚创建的profile.单击“串流”,你的流就开始推了.现在可以使用vlc看这个流,或者使用SopCast客户端通过p2p广播这个流。
4.3 检查直播流
在使用SopCast客户端广播这个流之前,本文推荐你先检查一下流是否正常.
打开另一个vlc实例,选择“打开网络串流”
在“网络协议”组合框中输入流的url地址,单击“播放”按钮.如果流能被vlc正常播放,此时你就可以使用SopCast客户端广播它.
5. 命令模式下的VLC编码 (高级)
对于高级用户,你还可以在命令模式下进行vlc编码.
5.1 VLC命令行
可以使用如下脚本运行vlc编码:
cd C:\Program Files\VideoLAN\VLC\
start vlc.exe -vvv dshow:// :dshow-vdev="Osprey-210 Video Device 1"
:dshow-adev="Osprey-210 Audio Device 1" :dshow-caching=200 :dshow-size="640x480" :dshow-chroma=YUY2
:sout=#transcode{venc=x264{keyint=25},vcodec=h264,vb=600,scale=1,fps=25,width=640,height=480
acodec=mp3,ab=128,channels=2,samplerate=48000,audio-sync}:std{access=http,mux=ts,dst=192.168.1.2:8080} :sout-keep &
5.2 VLC 输入选项
:dshow-vdev, 视频设备名称.
:dshow-adev, 音频设备名称.
:dshow-size="640x480",输入视频的尺寸.
In "Capturedevice" interface, when you check "Show more options", the videodevice name, audio device name and size of the input video will be shown in"Edit Options" textedit area.
在“捕获设备”接口,当你勾选“显示更多选项”时,视频设备名称和音频设备名称以及输入视频的尺寸都会显示在“编辑选项”的文本编辑区域中.
5.3 VLC 输出选项
keyint=25,keyint 是两个“关键”帧之间的最大间隔帧数. 例如如果 keyint=25 且 fps=25, 编码将会在每秒产生一个“关键”帧.
vcodec=h264, 视频封装格式.
acodec=mp3, 音频封装格式.
vb=700, 视频比特流,单位 Kbit/s.
fps=25, 帧率.
ab=128, 音频比特流,单位Kbit/s.
dst=192.168.1.2:8080,IP 地址和端口号.
width=640, 输出视频的宽度.
height=480, 输出视频的高度.
In "SteamOutput" interface, you can got most output options in "Generatedsteam output string" textedit area in "Option Setup" step.
在“流输出”接口,在“选择设置”步,你可以获得大部分高级选项,在“产生流输出字符串”的文本编辑区域.
6. 使用SopServer发布流
1. 打开 SopPlayer, 使用你在SopCast中注册的用户进行登录.
2. 选择"MyServer" 页.
3. 选择"Stream" 作为源, 在右边的文本框中填写你的流地址.
4. 根据你的编码选择合适的封装格式.
5. 填写其他必要的字段, 如频道ID, 节目名称(可选), 用户名和密码.
6. 单击 "Start", 你的频道将会在5秒后被列举在SopCast.