这篇文章给大家分享的是有关Vue中如何实现摄像头直播视频的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
HTML代码:
<div class="mainClass" v-show="rtmp_url!=''"> <video id="myPlayer" controls playsinline webkit-playsinline autoplay> <source type="application/x-mpegURL" :src="http_url"/> <source :src="rtmp_url"/> </video> </div>
直播地址是调用接口获取的。
<script> export default { data(){ return{ player:"", rtmp_url:"", http_url:"", message:'加载中...', } }, mounted(){ this.GetLiveUrl(); }, methods:{ GetLiveUrl(){ //异步获取直播地址,并赋值给rtmp_url,http_url } }, updated() { if(this.rtmp_url!=""){ //如果在mounted中声明,直播地址还未取到,导致视频不显示。所以放在了这里 this.player = new EZUIPlayer('myPlayer'); } } } </script>
补充:vue H5项目调用手机摄像头录像并上传
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>上传文件</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <style> input.file { position: relative; -moz-opacity:0 ; filter:alpha(opacity: 0); opacity: 0; z-index: 2; } .wrapper{ color: #fff; background-color: #31b0d5; border-color: #269abc; margin-top: 5px; margin-bottom: 5px; display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: 400; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } </style> </head> <body> <div id="app" v-cloak> <h5>上传视频demo</h5> <div> <span type="primary" class="wrapper"> <label class="btn" for="fileUpload">上传视频demo</label> </span> <input type="file" accept="video/*" id="fileUpload" @change="uploadVideo($event)"> </div> </div> <script> var app = new Vue({ el: '#app', data: { }, methods: { uploadVideo(e) { //e.target.value文件名 var file = e.target.files[0]; var formdata = new FormData(); formdata.append('fileStream', file); console.log('正在上传视频...') this.doUpload(formdata); }, doUpload(formdata) { axios.post('/teacher/doUpload', formdata).then(res => { if (res.data.success) { console.log('上传成功'); } else { console.log('上传失败'); } }).catch(err => { console.log(err); }) } } }); </script> </body> </html>
感谢各位的阅读!关于“Vue中如何实现摄像头直播视频”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。