使用VLC进行H.264编码

版本3.3.2
2011年10月9日

1. 简介

该手册解释了如何使用 Video Lan Client (VLC)来编码一个H.264视频流,并通过本地网络或者Internet广播这个视频流。

 

回到页首

2. 硬件要求

带有TV输入/视频输入的捕获卡。

回到页首

3. 必需软件

VLC, 建议使用 VLC 1.1.4进行 H.264实时流的编码。

您可以通过下面的链接下载 VLC,http://download.videolan.org/pub/videolan/vlc/1.1.4/。

回到页首

4. VCL编码指南

4.1 检查视频/电视卡

首先应该检查您的视频/电视卡是否正确安装,并能和VLC一起正常工作。

Encode H.264 with VLC

打开VLC,在“媒体”菜单中选择“打开捕获设备”项。

Encode H.264 with VLC

在“捕获设备”标签页选择正确的视频和音频设备,并点击“播放”按钮。如果VLC能够正确的播放视频和音频,说明您的视频卡工作正常,可以进行流媒体编码了。

4.2 H.264串流

Encode H.264 with VLC

打开VLC,并在“媒体”菜单中选择“串流”。

Encode H.264 with VLC

选择正确的视频和音频设备,在“高级选项”中,您还可以设置一些更高级的配置。然后点击“串流”按钮。

Encode H.264 with VLC

在弹出的窗口点击“下一个”。

Encode H.264 with VLC

在“目标”组,选择“HTTP”并点击“添加”。

Encode H.264 with VLC

选择可用的端口,比如 “8080”。

Encode H.264 with VLC

在“激活转码”组,点击“创建新档案”按钮。

Encode H.264 with VLC

输入合适的档案名称。在“封装”标签页,您可以选择“MPEG-TS”, “MPEG-PS” 或 “FLV”。SopCast推荐使用“MPEG-TS”。从SopCast 3.4.5和之后的版本支持“FLV”封装。

Encode H.264 with VLC
在“视频编解码器”标签页,选择H-264编码。选择一个适当的“位率”。位率可以从400kbps到2000kbps,这取决于您的Internet线路的上传带宽是多少。如果您的上传带宽小于1Mbps,建议设置400~500kbps的位率,如果您的上传带宽超过10Mbps,您可以设置更高的位率,比如1500kbps。

Encode H.264 with VLC

在“音频编解码器”标签页,选中“音频”复选框,并选择MP3作为音频编码。所有的参数正确配置之后,点击“保存”,完成创建新档案。

Encode H.264 with VLC

现在在“转码选项”组,您可以选择您刚才创建的档案。然后点击“串流”按钮,这时您的编码已经开始了。您可以使用VLC观看您的视频流,或者用SopCast客户端将该流媒体发布到P2P网络中了。

4.3 测试流媒体

在用SopCast客户端发布流媒体之前,建议您测试一下您的编码是否正常工作。

Encode H.264 with VLC
另外打开一个VLC程序实例,在“媒体”菜单选择“打开网络串流”项。

Encode H.264 with 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", 输入视频的大小。

在“捕获设备”节目,在你选中“显示更多选项”时,在编辑选项文本框中会显示视频设备名称,音频设备名称以及输入视频的大小。

5.3 VLC输出选项

keyint=25, keyint两个关键帧之间的间隔,单位是帧。 例如keyint=25, aps=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, 输出视频的高度。

在“流输出”界面,“选项设置”步骤的“生成串流输出字符串”文本框中,您可以得到绝大多数上面提到的视频输出参数。

回到页首

6. 使用SopServer发布该视频流

1. 打开SopCast软件,并以在SopCast中注册的用户登录。

2. 点击"MyServer"标签。

3. 选择"Stream"作为源,并在下面的文本框中输入刚才的URL。

4. 按照您刚才编码时的配置,选择正确的封装。

5. 填写别的必需的信息,比如频道ID用户名,口令等。

6. 点击"Start"开始广播,您的频道在大约5分钟之后出现在SopCast的频道列表中。

sopserver

回到页首