Windows环境vlc的配置与简单rtsp推流demo

下载开发包:http://download.videolan.org/pub/videolan/vlc/
本人下的是最新版本的3.0.7.1如下:在这里插入图片描述
解压后定位到文件夹的“sdk”目录下,可以看到“include”和“lib”两个文件夹,这正是我们想要的东西。
用VS新建C++工程后把这两个文件夹扔进去,然后配置环境:
1.项目->属性->C/C+±>常规->附加包含目录->".\include"
2.项目->属性->链接器->常规->附加库目录->".\lib"
3.项目->属性->链接器->输入->附加依赖项->“libvlc.lib libvlccore.lib”
4.在include\vlc\vlc.h文件的头部加上“typedef __int64 ssize_t;”,如下:
#ifndef VLC_VLC_H
#define VLC_VLC_H 1

//加上这句话
typedef __int64 ssize_t;

/**
 * \file
 * This file defines libvlc new external API
 */
5.把前面下载的vlc程序包的“libvlc.dll”、“libvlccore.dll”和“plugins”文件夹拷贝到工程目录中
完成以上工作后,环境配置就完成了。写入如下代码即可搭建一个简单的rtsp视频推送服务器。
#include <Windows.h>   
#include "vlc/vlc.h"   

int main(int argc, char** argv) 
{
	libvlc_instance_t* vlc;
	const char* url;
	//这个里面的内容不知道怎么写可以用VLC的界面程序先走一遍流程,最后会输出一串相应的字符串
	const char* sout = "#rtp{sdp=rtsp://192.168.1.106:8888/s}";//IP地址根据本机情况修改
	const char* media_name = "Player";
	url = "E:\\2.5\\ffmpegbin\\1.mp4";//h264裸流视频
	vlc = libvlc_new(0, NULL);//初始化VLC对象
	libvlc_vlm_add_broadcast(vlc, media_name, url, sout, 0, NULL, true, false);//添加广播
	libvlc_vlm_play_media(vlc, media_name); //播放广播
	while (1)
	{
		Sleep(100000);
	}
	libvlc_vlm_stop_media(vlc, media_name);//关闭媒体
	libvlc_vlm_release(vlc);//释放VLC对象
	return 0;
}
服务器运行起来后,可用ffplayer播放:
.\ffplay.exe rtsp://192.168.1.106:8888/s
或者用VLC打开网络串流播放即可。
需要注意的问题
1.这里推流不能推h264裸流,否则问题很严重,会花屏,帧率输出异常等,坑死人!!!
2.该代码在Win7 64位下推送会有花屏的情况产生,原因不明,建议在Win10下使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值