请问海康视频播放库playm4.dll是那种方式实现的

rightorwrong 2009-01-05 10:49:14
海康的本地视频播放库playm4.dll是如何实现的呢?读文件的方式么,看接口函数觉得没有用到directshow。
有谁知道大致的讲一讲实现思路
...全文
825 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
FirstTime 2009-01-21
  • 打赏
  • 举报
回复
他们用的是DirectDraw
读一帧,解码,送给DDraw画就行了。
不过现在使用Direct3D更方便。
海康也有DirectShow写的filter,安装就可以播放了。不过没开放代码
========================================================================
to sxcong,难道网上有海康directdraw方面的代码?我迫切需要这样的代码,我的directdraw播放做得不成功。
hndth 2009-01-17
  • 打赏
  • 举报
回复
友情up
noenoughmemory 2009-01-17
  • 打赏
  • 举报
回复
友情up
rightorwrong 2009-01-16
  • 打赏
  • 举报
回复
起来
顶下
rightorwrong 2009-01-07
  • 打赏
  • 举报
回复
yv12的格式保存为bmp图片已经实现了
1秒25帧正常速度。是下面的这样实现么?
解码后获得原始的数据--sleep(1000/25)--DirectDraw显示。这样就是正常播放,快放和慢放就是改变sleep的时间吗?
是不是这样控制的
vidding 2009-01-06
  • 打赏
  • 举报
回复
如果正常速度是1秒25幁,那么你设定1秒播放30幁或者20幁,就是快放和慢放。
暂停,就是让你的工作线程暂停下,读文件->解码->播放这一流程停下来。
yv12的格式保存为bmp图片,网络上有很多现成的公式,你找一个就可以了。
rightorwrong 2009-01-06
  • 打赏
  • 举报
回复
大家都吱一声呀
rightorwrong 2009-01-05
  • 打赏
  • 举报
回复
再问个问题,怎么把yv12的格式保存为bmp图片
rightorwrong 2009-01-05
  • 打赏
  • 举报
回复
谢谢两位
我现在也是读一帧就解码。能够播放
怎么实现快放和慢放的功能,暂停如何实现呢。怎么控制不读文件了呢
  • 打赏
  • 举报
回复
帮顶!
sxcong 2009-01-05
  • 打赏
  • 举报
回复
他们用的是DirectDraw
读一帧,解码,送给DDraw画就行了。
不过现在使用Direct3D更方便。
海康也有DirectShow写的filter,安装就可以播放了。不过没开放代码
#region using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Threading; using SocketLibrary; #endregion namespace HkwsSDK { /// /// 在海康威视的SDK包上,再进行封装,供简单直接的调用. /// 目前可以控制硬盘录像机和解码器,需要两者密码一样. /// public class HKWS : IDisposable { #region (0)变量定义 /// /// 发现的文件信息结构 /// private readonly NetSDK.NET_DVR_FIND_DATA[] FindData = new NetSDK.NET_DVR_FIND_DATA[1000]; /// /// 远程录像状态 /// public int _StatusSaveMp4; /// /// 功能:设定播放延迟和流畅。 /// 调节播放的延时和流畅程度,如果buffNum值越大,播放的流畅性越好, /// 相应的延时比较大,buffNum值越小,播放的延时很小, /// 但是当网络不太顺畅的时候,会有丢帧现象,感觉播放不会很流畅。 /// 一般设置的帧缓冲大于等于6帧时,音频预览才会正常, /// 如果不需要音频预览,只需要视频实时性则这个值可以设置的更小。 /// public int buffNum = 10; public int bytesReturned; public int channel = 1; public int channelCount = 5; // 共8个通道 public int channelStart = 1; /// /// 客户端信息结构 /// public NetSDK.NET_DVR_CLIENTINFO ClientInfo; /// /// 解码器通道信息 /// public NetSDK.NET_DVR_MATRIX_DEC_CHAN_INFO dci; /// /// 解码器设备配置信息结构 /// public NetSDK.NET_DVR_DEVICECFG DecoderDeviceCfg; /// /// 解码器设备信息结构体结构实体化 /// public NetSDK.NET_DVR_DEVICEINFO DecoderDeviceInfo; /// /// 解码器信息结构体实例化 /// public Server_Info DecoderInfo; /// /// 解码器登录用户id /// public int decoderUserID; /// /// 硬盘录像机设备配置信息结构 /// public NetSDK.NET_DVR_DEVICECFG DvrDeviceCfg; /// /// 硬盘录像机设备信息结构体结构

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧