EasyPlayer-rtsp Win版播放器获取媒体信息的代码实现

EasyPlayer视频流媒体播放器支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性。使用了TSINGSEE青犀视频产品的小伙伴都知道,EasyNVR、EasyDSS内都集成了EasyPlayer.JS版本。

经常遇到有开发者咨询我们如何获取EasyPlayer-rtsp Win版播放器RTSP流的媒体信息,其实通过VLC即可获取,如下图VLC中显示内容:

下面是RTSP播放器获取媒体信息的完整代码实现,请参考:

int	CChannelManager::GetMediaInfo(int channelId, MEDIA_INFO& mediaInfo)
{
	if (NULL == pRealtimePlayThread)			return -1;
	int iNvsIdx = channelId - CHANNEL_ID_GAIN;
	if (iNvsIdx < 0 || iNvsIdx>= MAX_CHANNEL_NUM)	return -1;
	mediaInfo.video_codec = pRealtimePlayThread[iNvsIdx].frameinfo.video_codec ;
	mediaInfo.fps = pRealtimePlayThread[iNvsIdx].frameinfo.fps		;
	mediaInfo.width = pRealtimePlayThread[iNvsIdx].frameinfo.width	;
	mediaInfo.height = pRealtimePlayThread[iNvsIdx].frameinfo.height  ;
	mediaInfo.audio_codec = pRealtimePlayThread[iNvsIdx].frameinfo.audio_codec ;
	mediaInfo.bits_per_sample = pRealtimePlayThread[iNvsIdx].frameinfo.bits_per_sample ;
	mediaInfo.channels = pRealtimePlayThread[iNvsIdx].frameinfo.channels ;
	mediaInfo.sample_rate = pRealtimePlayThread[iNvsIdx].frameinfo.sample_rate;
	return 0;
}

其中channelId为通道号,为EasyPlayer_OpenStream()函数返回值。

如果有用户想将EasyPlayer播放器集成进自己的流媒体平台,也是可以的,我们提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发,我们也欢迎大家测试。

原文地址:https://www.cnblogs.com/TSINGSEE/p/15075805.html