mvideo

H5 video踩坑实录

我是研究僧i 提交于 2021-02-10 18:29:52
      前段时间公司APP做了一个APP论坛会议,嵌入了h5播放器。我以为很简单,没想到,这正是我踩进泥潭的开始。。。     (想要吸取经验的小伙伴可以慢慢往下看,想要解决方案的直接看最后!)     一、一开始我以为直接用H5原生video就可以直接实现。        < video src ="url" poster ="video.png" width ="100%" height = "9rem" ></ video >       src :视频地址,       poster:视频封面,       obj.play() :播放,       obj.pause():暂停。       到这里我以为就大功告成了,没想到啊,       首先没有控制条,其次苹果浏览器默认全屏,而且苹果不能直接播放和加载。后来Google发现苹果不允许直接播放视频,除非用户主动点击(这是什么混蛋逻辑)。            二、改变思路,把图片放在video上层,点击触发video播放。同时添加controls,设置playsinline不全屏播放       html:       < div id = "myvideo" >          < img src = "video.png" >          < video src ="url" poster =

移动端video不全屏播放

浪尽此生 提交于 2020-12-10 06:34:21
1 <div class="m-video"> 2 <video x5-playsinline="" playsinline="" webkit-playsinline="" preload="none" poster="images/img7.jpg"> 3 <source src="video/myvideo.mp4" type="video/mp4"> 4 您的浏览器不支持 video 标签。 5 </video> 6 <!--自定义默认封面图--> 7 <div class="bg" style="background-image:url(images/img7.jpg);"></div> 8 <!--自定义播放按钮--> 9 <a href="javascript:void(0);" class="btn"></a> 10 </div> x5-playsinline ————————————该属性是让视频内联播放(兼容安卓和x5相关的内核) playsinline、webkit-playsinline—————该属性是让视频内联播放 preload———————————————视频加载时机,none为默认不加载(点击播放时再加载) poster————————————————video自带封面图属性 CSS .m-video video{object-fit: cover

RTCP实现代码分析

十年热恋 提交于 2020-08-16 01:26:58
场景 RTP over TCP中 RTCP的实现代码 std::string strName = "fengyuzaitu@51.cto"; int nLength = 2 + 2 + 8 + 20 + 4 + 6 + strName.size(); std::string strRTCPBuffer; //对齐四个字节,并且让最后的字符是0x00,保证wireshark抓包最后显示Type: END (0) int nRet = (strName.length() + 2) % 4; if (0 != nRet) { nLength = nLength + 4 - nRet; } else { nLength = nLength + 4; } strRTCPBuffer.resize(nLength); //$+channel strRTCPBuffer[0] = 0x24; strRTCPBuffer[1] = 0x01; //RTCP报文长度,一段是RTCP统计数据内容,一段是RTCP源描述 *(unsigned short*)&strRTCPBuffer[3] = htons(nLength - 4); //Sender Report strRTCPBuffer[4] = (char)(2 << 6); // V=2, P=RC=0 strRTCPBuffer[5] =