zoukankan      html  css  js  c++  java
  • 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调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发,我们也欢迎大家测试。

  • 相关阅读:
    编码的道与禅
    使用 C# 编写简易 ASP.NET Web 服务器
    程序员的职业素养
    NServiceBus官方文档翻译(二)NServiceBus 入门
    NServiceBus官方文档翻译(一)NServiceBus 概况
    七周七语言之使用prolog解决爱因斯坦斑马难题
    七周七语言之用Io编写领域特定语言
    七周七语言之用ruby做点什么
    利用binarySearch实现抽奖计算逻辑
    Java设计模式三
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15075805.html
Copyright © 2011-2022 走看看