当前位置: 首页 > news >正文

西安+医疗网站建设网络推广策划案范文5篇

西安+医疗网站建设,网络推广策划案范文5篇,专业网站制作的地方,企业seo是什么意思我们在做RTSP、RTMP播放器的时候#xff0c;遇到这样的诉求#xff1a;特别是RTSP#xff0c;有些摄像头安装可能倒置或者旋转了90亦或270#xff0c;拉取到图像#xff0c;势必需要对视频图像做一定的处理#xff0c;确保显示正常。 为此#xff0c;我们提供了以下接口…我们在做RTSP、RTMP播放器的时候遇到这样的诉求特别是RTSP有些摄像头安装可能倒置或者旋转了90°亦或270°拉取到图像势必需要对视频图像做一定的处理确保显示正常。 为此我们提供了以下接口视频数据水平反转、垂直反转、设置旋转角度。 好多开发者搞不清楚特别是水平反转和垂直反转以下我们以图例的形式做个效果展示。 先看原始图像 水平反转后 垂直反转后 按照设定角度旋转90°、180°、270° 以C的接口为例设计如下 /**上下反转(垂直反转)*is_flip: 1:表示反转, 0:表示不反转*/NT_UINT32(NT_API *SetFlipVertical)(NT_HANDLE handle, NT_INT32 is_flip);/**水平反转*is_flip: 1:表示反转, 0:表示不反转*/NT_UINT32(NT_API *SetFlipHorizontal)(NT_HANDLE handle, NT_INT32 is_flip);/*设置旋转顺时针旋转degress 设置0 90 180 270度有效其他值无效注意除了0度其他角度播放会耗费更多CPU接口调用成功返回NT_ERC_OK*/NT_UINT32(NT_API* SetRotation)(NT_HANDLE handle, NT_INT32 degress); 以上接口设计考虑到图像出来后才可以知道要怎么调整设计成了可实时调用的接口模式。 具体调用逻辑非常简单 player_api_.SetFlipVertical(player_handle_, BST_CHECKED btn_check_flip_vertical_.GetCheck() ? 1 :0 );player_api_.SetFlipHorizontal(player_handle_, BST_CHECKED btn_check_flip_horizontal_.GetCheck() ? 1 : 0);player_api_.SetRotation(player_handle_, rotate_degrees_); 旋转角度按钮逻辑 void CSmartPlayerDlg::OnBnClickedButtonRotation() {rotate_degrees_ 90;rotate_degrees_ rotate_degrees_ % 360;if (0 rotate_degrees_){btn_rotation_.SetWindowText(_T(旋转90度));}else if (90 rotate_degrees_){btn_rotation_.SetWindowText(_T(旋转180度));}else if (180 rotate_degrees_){btn_rotation_.SetWindowText(_T(旋转270度));}else if (270 rotate_degrees_){btn_rotation_.SetWindowText(_T(不旋转));}if ( player_handle_ ! NULL ){player_api_.SetRotation(player_handle_, rotate_degrees_);} } 总的来说实现难度不大此外我们针对视频数据还设计了只解关键帧、按照视频宽高scale显示图像最大限度的方便用户使用。 /**设置只解码视频关键帧*is_only_dec_key_frame: 1:表示只解码关键帧, 0:表示都解码, 默认是0*成功返回NT_ERC_OK*/NT_UINT32(NT_API *SetOnlyDecodeVideoKeyFrame)(NT_HANDLE handle, NT_INT32 is_only_dec_key_frame); /*设置视频画面的填充模式如填充整个绘制窗口、等比例填充绘制窗口如不设置默认填充整个绘制窗口handle: 播放句柄mode 0: 填充整个绘制窗口; 1: 等比例填充绘制窗口, 默认值是0成功返回NT_ERC_OK*/NT_UINT32 (NT_API *SetRenderScaleMode)(NT_HANDLE handle, NT_INT32 mode); 如果以上数据都还不满足开发者或终端用户的需求我们还可以把数据YUV/RGB回调上来用户自行处理。 player_api_.SetVideoFrameCallBack(player_handle_, NT_SP_E_VIDEO_FRAME_FORMAT_RGB32,GetSafeHwnd(), SM_SDKVideoFrameHandle); extern C NT_VOID NT_CALLBACK SM_SDKVideoFrameHandle(NT_HANDLE handle, NT_PVOID userData, NT_UINT32 status,const NT_SP_VideoFrame* frame) {/*if (frame ! NULL){std::ostringstream ss;ss Receive frame time_stamp: frame-timestamp_ ms \r\n;OutputDebugStringA(ss.str().c_str());}*/if ( frame ! NULL ){if ( NT_SP_E_VIDEO_FRAME_FORMAT_RGB32 frame-format_ frame-plane0_ ! NULL frame-stride0_ 0 frame-height_ 0 ){std::unique_ptrnt_rgb32_image pImage(new nt_rgb32_image());pImage-size_ frame-stride0_* frame-height_;pImage-data_ new NT_BYTE[pImage-size_];memcpy(pImage-data_, frame-plane0_, pImage-size_);pImage-width_ frame-width_;pImage-height_ frame-height_;pImage-stride_ frame-stride0_;HWND hwnd (HWND)userData;if ( hwnd ! NULL ::IsWindow(hwnd) ){::PostMessage(hwnd, WM_USER_SDK_RGB32_IMAGE, (WPARAM)handle, (LPARAM)pImage.release());}}} } 有了这些数据接口的加持播放端对数据处理非常方便。
http://www.yutouwan.com/news/236324/

相关文章:

  • 怎么把网站列入黑名单广州做网站建设哪家公司好
  • 浙江建设培训中心网站做seo要明白网站内
  • 水印在线制作网站网络商城需要什么资质
  • 临海响应式网站设计新手学习网站建设
  • 资源交易网站代码wordpress内容清空
  • 巴中微小网站建设案例app下载地址
  • 网站建设与实践心得网站建设_seo技术支持
  • 设计公司网站运营吉林建筑大学本科招生网
  • 网站设计的必要性wordpress音乐播放器插件
  • 全国电子网站建设吴江网站建设收费
  • 建设网站对服务器有什么要求西宁工程建设招聘信息网站
  • 国际摄影网站企业网站搭建方案
  • 长沙做网站开发价格设计做的好看的网站有哪些
  • 甘肃省建设厅质量投诉网站新闻客户端网站开发
  • 阿里云搭建多个网站陕西住建厅网站官网
  • 莆田网站制作公司wordpress如何制作网站
  • 厦门专业网站推广建站南宁网站排名外包
  • 展示网站模版源码在网站做电子画册
  • 网站建设 seo模块软件生成器下载
  • 静态网站托管平台wordpress ajax json
  • 国外做网站用的程序古色古香 网站模板
  • 做网站的排名苏州园区人才市场
  • 西安论坛网站制作维护怎么做网页投票
  • 网站收录后然后怎么做14亿人口新冠死多少
  • wordpress网站导航龙岩论坛
  • 建筑公司网站新年贺词网站做跳转影响排名吗
  • 微小旅行社能否做网站旅行社网站策划
  • 邢台装修网站建设灵动网站建设
  • 如何建一个网站网站建设误区图
  • 技术网站源码wordpress厦门企业网站设计公司