整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端使用html5、ffmpeg實現錄屏攝像等功能

          前端使用html5、ffmpeg實現錄屏攝像等功能

          景介紹

          ** 涉及技術:vue、electron、ffmpeg、node **
          關于錄屏和攝像對比了兩種方法

          • 使用HTML5的api實現
            攝像:mediaDevices(獲取設備)+ getUserMedia(獲取流) + MediaRecorder(存儲)
            錄屏:getDisplayMedia(獲取流) + MediaRecorder(存儲)
          • ffmpeg + node:FFmpeg是一套非常強大的音視頻處理的開源工具,不多介紹,而Electron基于node和chromium,它允許使用node的API以及幾乎所有的node模塊,這意味這著我們可以調用cmd命令來操作ffmpeg實現錄屏和攝像錄制,當然ffmpeg功能絕不止這點

          HTML5實現

          mediaDevices

          • 用于收集系統上可用的多媒體輸入和輸出設備的信息
          • 該方法調用成功返回設備列表,并傳入帶有devceID的MediaStreamConstraints對象可以指定設備獲取流媒體來源
          navigator.mediaDevices.enumerateDevices().then(devicelist=> {
              // audiooutput 揚聲器
              // audioinput  麥克風
              // audiooutput 攝像
              console.log(devicelist)
            }).catch(err=> console.log(err))

          getUserMedia

          • 用戶提供訪問硬件設備媒體(攝像頭、視頻、音頻、地理位置等)的接口,基于該接口,開發者可以在不依賴任何瀏覽器插件的條件下訪問硬件媒體設備。
          • 該方法返回視頻流,將獲取到的流賦給video標簽可實現邊錄邊看
          navigator.mediaDevices.getUserMedia(MediaStreamConstraints).then(stream=> {
              videoElement.srcObject=stream; // 
            }, error=> console.log(error));

          getDisplayMedia

          • 將用戶的顯示或其部分用作媒體流的來源,它允許以視頻流的形式獲取用戶的顯示器或其一部分
          • 錄屏主要依靠該方法,和getUserMedia一樣返回一個promise對象,調用成功返回流,將這個流賦給video 元素實現邊錄邊看
          • ** 需要注意的是** 如果你做的是網頁端在谷歌上使用這個元素,需要在chrome://flags/開啟Experimental Web Platform features功能

          而Electron基于node + chromium構建,在electron需要引入desktopCapturer模塊,并在基于該模塊使用這個方法

          navigator.mediaDevices.getDisplayMedia({ video: true })
            .then(stream=> {
              videoElement.srcObject=stream;
            }, error=> console.log(error));

          相關學習資料推薦,點擊下方鏈接免費報名,先碼住不迷路~】

          音視頻免費學習地址:FFmpeg/WebRTC/RTMP/NDK/Android音視頻流媒體高級開發

          【免費分享】音視頻學習資料包、大廠面試題、技術視頻和學習路線圖,資料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以點擊788280672加群免費領取~

          MediaRecorder

          • 記錄和捕獲媒體,也就是視頻和音頻
          • getDisplayMedia 和 getUserMedia 獲取到的流都需要使用MediaRecorder存儲起來,并且可以保存成文件
          let herf
          this.recorder=new MediaRecorder(stream);
          this.recorder.ondataavailable=e=> { 
            herf=e.data;
            download.href=URL.createObjectURL(herf);
          };
          this.recorder.start();

          第二種使用ffmpeg

          官網安裝包下載 ffmpeg.zeranoe.com/builds/

          一些基本參數

          -formats 輸出所有可用格式
          -f fmt 指定格式(音頻或視頻格式)
          -i filename 指定輸入文件名,在linux下當然也能指定:0.0(屏幕錄制)或攝像頭
          -y 覆蓋已有文件
          -t duration 記錄時長為t
          -fs limit_size 設置文件大小上限
          -itsoffset time_off 設置時間偏移(s),該選項影響所有后面的輸入文件。該偏移被加到輸入文件的時戳,定義一個正偏移意味著相應的流被延遲了 offset秒。 [-]hh:mm:ss* [.xxx]的格式也支持 音 頻
          -ab bitrate 設置音頻碼率
          -ar freq 設置音頻采樣率
          -ac channels 設置通道 缺省為1 視 頻
          -b bitrate 設置比特率,缺省200kb/s
          -r fps 設置幀頻 缺省25
          -s size 設置幀大小 格式為WXH 缺省160X128.下面的簡寫也可以直接使用:

          錄屏相關命令

          列出可用的設備包括音頻和攝像等等
          ffmpeg -list_devices true -f dshow -i dummy
          
          錄屏,你也可以加入關于視頻的一些基本參數來獲得你想要的文件
          ffmpeg -f gdigrab -i desktop captrue.mkv -y

          node調用

          cd進入bin文件夾后執行錄屏相關命令

          關于停止錄制,雖然ffmpeg按 Q 可以停止錄制,但是我們通過代碼調用是看不到cmd命令行的而且他在錄制過程中是一直占用這個進程什么命令也無法輸入 所以這個地方我只想到一個辦法就是強制停止該進程

          參考文章
          MDN developer.mozilla.org/zh-CN/docs/… developer.mozilla.org/en-US/docs/… developer.mozilla.org/zh-CN/docs/…
          W3C w3c.github.io/mediacaptur…


          原文 前端使用html5、ffmpeg實現錄屏攝像等功能 - 掘金

          工網是由中華全國總工會主管主辦、工人日報社領導和管理的大型綜合性中央新聞網站。網站設有時政、工會、評論、視頻、看點、權益等30多個頻道,并有兩微一端及各類新媒體平臺號。

          根據業務發展需要,中工網擬招聘采編部門副總監、記者編輯、編導攝像、JAVA工程師、前端(小程序)工程師、AE動畫師,如果你有實力、有夢想、有理想、有追求,期待您加入我們!

          一、招聘崗位

          采編中心副總監(2名)、網評中心副總監(1名)

          【崗位職責】

          協助總監完成部門頻道內容的日常維護、組織選題策劃采寫編審發布、欄目發展規劃與執行等。

          【任職要求】

          1.全日制大學本科及以上學歷;

          2.具有較強的政治素質、較高的新聞價值判斷水平及新聞策劃和采編能力;

          3.工作認真負責,具有較高的職業素養、創新意識與團隊精神;

          4.五年以上新聞媒體從業經驗;兩年以上新聞團隊管理經驗。

          音視頻中心副總監(1名)

          【崗位職責】

          協助總監完成部門頻道內容的日常維護、組織選題策劃制作審核發布、欄目發展規劃與執行等。

          【任職要求】

          1.影視、新聞傳播、中文等全日制大學本科及以上學歷;

          2.具有較強的政治素質、較高的新聞價值判斷水平及視頻新聞策劃和采編能力;

          3.具備熟練運用音視頻采編工作的各項技能,熟悉新媒體平臺;

          4.工作認真負責,具有較高的職業素養、創新意識與團隊精神;

          5.五年以上新聞媒體從業經驗;兩年以上視頻團隊管理經驗。

          記者編輯(2名)、網評編輯(1名)

          【崗位職責】

          頻道內容的日常維護;選題策劃、采寫、編輯;公眾號日常運營。

          2.具有良好的政治素質、扎實的文字功底、較好的新聞敏感性;

          3.工作踏實、責任心強、有團隊合作精神;

          4.新聞傳播專業畢業及有一定新聞采寫、評論理論工作經驗者優先。

          編導(2名)

          【崗位職責】負責視頻的全流程制作。

          【任職要求】

          1.影視、新聞傳播、編導、文學等大學本科及以上學歷;

          2.具有良好的政治素質、扎實的文字功底、較好的新聞敏感性;

          3.較強的新聞策劃、編導能力與水平;

          4.一年以上媒體新聞、電視編導經驗及會AE者優先。

          攝像(1名)

          【崗位職責】視頻前期策劃、拍攝及剪輯、特效等后期制作。

          【任職要求】

          1.影視、攝影、廣播電視、編導等大學本科及以上學歷;

          2.具有良好的政治素質和新聞敏感性,較強的創新意識和團隊意識;

          3.視頻拍攝、剪輯、制作技巧嫻熟,會航拍者優先;

          4.一年以上媒體視頻制作經驗者優先。

          JAVA工程師(1名)

          【崗位職責】負責支撐前端展示的數據庫設計、服務接口開發等。

          【任職要求】

          1.計算機及相關專業,具有1-3年基于Java技術的軟件開發經驗;

          2.熟練掌握Spring boot等框架和前后端分離技術;

          3.熟練使用常見SQL、non-SQL數據庫,如oracle、mongodb、redis,熟悉linux命令,熟悉SQL腳本語言、存儲過程編寫;

          4.熟練使用Tomcat、Maven包管理等第三方工具;

          5.具備較強的學習能力、技術研究能力;具備團隊合作意識和推動協作達成的能力;

          6.熟練掌握前端技術和框架HTML5、CSS、JavaScript、Vue等優先;會使用uniapp和熟練使用相關報表開發工具者優先。

          前端(小程序)工程師(1名)

          【崗位職責】負責對接各平臺(百度、支付寶、微信等)小程序展示界面的開發工作。

          【任職要求】

          1.2年以上相關工作經驗;

          2.精通HTML/CSS/Javascript(ES5/ES6)/Typescript;

          3.熟練使用vue2/uve3,具備一定的組件抽象能力;

          4.熟練使用vue全家桶以及相關基礎ui組件,Element-ui等;

          5.熟練使用uniapp開發微信、支付寶、百度小程序;

          6.熟練使用echart.js等報表組件;

          7.具備較強的學習能力、技術研究能力;良好的溝通和表達能力,具備團隊合作意識和推動協作達成的能力。

          AE動畫師(1名)

          【崗位職責】負責動畫制作,對接各欄目的動畫元素要求。

          【任職要求】

          1.2年以上工作經驗,具備良好的審美及設計功底;

          2.熟練運用AE、PR等剪輯制作軟件及至少1種3D軟件;

          3.有較強的手繪功底,能獨立制作MG動畫,對作品的主題創意、動畫等方面有較好的把握;

          4.有一定的原創及造型能力,掌握人物運動規律;

          5.熟知動畫行業各種門類、風格、技術手段以及技術環節,善于把握作品的內容及風格,并對項目進行嚴格的質量控制;

          6.提供近期作品;

          二、我們的優勢

          1.平臺足夠大,空間足夠廣;只要想做事,束縛無限低;

          2.有的是老師可以交流和請教,只要你虛心;

          3.重大活動盡情參與,只要你想;

          4.別的地方給的我們肯定給,別的地方不一定有的我們也會有。

          三、聯系我們

          投遞郵箱及截止日期:

          有意者請將簡歷及作品發送至郵箱zhaopinHR@workercn.cn(請注明“應聘崗位名稱+姓名)

          四、工作地點:

          北京市東城區安德路甲61號工人日報社

          寧高新區廣播電視臺(站)招10名工作人員,報名持續至2月28日。

          應聘條件包括擁護中國共產黨的領導,熱愛祖國,遵紀守法。具有開拓進取精神和創新意識,具備良好的職業道德,事業心、責任心強,吃苦耐勞,組織紀律觀念強,熱愛本職工作。品行端正,身體健康,具備崗位所要求的專業技能。具備一定審美能力和較強的學習能力,有很好的溝通管理和團隊合作精神。本科及以上學歷。

          (一)新聞采編人員(4人)

          崗位要求:

          1、具有堅定的政治立場,堅持四項基本原則,擁護黨的路線方針政策,具有較高的政治素養;

          2、新聞及相關專業;

          3、具有良好的文字撰寫能力,可獨立統籌節目素材,擬定節目制作流程;

          4、具有扎實的攝像功底,能熟練駕馭鏡頭語言;

          5、能敏銳發掘新聞點,提出選題建議,組織策劃活動,制作新聞專題、圖表新聞,創作適于微傳播的作品;

          6、具有后期剪輯能力,熟練掌握剪輯軟件Pr、Edius、大洋等,可獨立完成節目的剪輯工作;

          7、具有新聞采編(文字、圖片、視頻、動漫等)技能或能利用HTML5進行微信小程序開發及微應用開發和wap站開發者優先;

          8、年齡35周歲以下,有相關工作經驗者,中共黨員優先。

          (二)技術播出人員(1人)

          崗位要求:

          1、廣播電視工程、計算機及相關專業;

          2、熟練掌握廣播電視技術、軟件數據庫、通信與信息工程等專業知識,有較強的理論基礎知識和實際操作能力;

          3、具備電視播出節目編排、節目切換、安全播出監控、播出設備日常維護能力;

          4、熱愛廣播電視技術工作,具有刻苦鉆研業務、愛崗敬業的職業素養。服從分配,能夠適應艱苦的工作環境;

          5、年齡40周歲以下,有相關工作經驗者優先。

          (三)新媒體運營人員(2人)

          崗位要求:

          1、網絡及新媒體相關專業;

          2、熱愛互聯網,熟悉新媒體運營特點,網感敏銳;

          3、文案能力強,能獨立原創內容和編輯、發布稿件,熟悉網絡語境;

          4、較好的洞察力和創意能力,善于捕捉熱點,完成策劃方案撰寫;

          5、能夠熟練使用PS等設計軟件,做好內容策劃、編輯、發布、維護、管理、互動,提高影響力和關注度,對排版有獨立風格、極致追求;

          6、策劃并執行新媒體互動話題/營銷活動,利用微信、微博等平臺進行有效推廣,帶動粉絲數量增長/社群增量/資源的轉化;

          7、跟蹤新媒體運營推廣效果,針對數據做復盤分析并及時調整改進;

          8、及時追蹤本地區熱點,打造原創話題/觀點分享,為用戶策劃與提供優質、有高度傳播性的內容;

          9、具有新聞采編(文字、圖片、視頻、動漫等)技能或能利用HTML5進行微信小程序開發及微應用開發和wap站開發者優先;

          10、年齡35周歲以下,有相關新媒體賬號運營經驗者優先。

          (四)廣告運營人員(1人)

          崗位要求:

          1、廣告、市場營銷專業;

          2、有較強的廣告客戶開發能力,嫻熟的銷售技巧,能夠承受工作壓力,責任心強;

          3、積極完成規定和承擔的廣告指標;

          4、建立并維護好客戶關系,并跟進客戶合同簽訂履行情況及客戶的回款;

          5、對客戶在宣傳過程中出現的問題、須辦理的手續,幫助或聯系有關部門或單位妥善解決;

          6、有較好的文字功底,能獨立撰寫策劃文案,并根據客戶需求提供活動宣傳策劃方案,具備較強的語言表達、溝通能力;

          7、有團隊協作能力、服從能力,能吃苦耐勞;

          8、年齡35周歲以下,有運營策劃和市場推廣經驗,熟悉商貿、旅游、教育、汽車等行業或有相關廣告工作經驗者,以及熟悉新媒體平臺營銷者,優先考慮。

          (五)網絡技術人員(2人)

          崗位要求:

          1、電子信息、計算機類相關專業;

          2、具有堅定的政治立場,堅持四項基本原則,擁護黨的路線方針政策,具有較高的政治素養;

          3、了解計算機網絡、服務器存儲、備份容災、虛擬化及云安全、智能弱電、多媒體視訊等技術基礎知識;

          4、了解網絡安全原理,能對現有系統進行防護和加固,對失、泄密事件能進行有效防御;

          5、熟悉主流網絡設備與協議、網絡輿情系統操作流程;

          6、熟練運用操作系統與辦公軟件,具有較好的技術文檔編制能力;

          7、具有較強的溝通能力,良好的分析問題和實際動手能力,良好的學習和創新能力;

          8、年齡35周歲以下,有相關工作經驗者優先;中共黨員優先。

          濟寧高新區 齊魯晚報·齊魯壹點


          主站蜘蛛池模板: 射精专区一区二区朝鲜| 亚洲一区AV无码少妇电影☆| 国产精品亚洲不卡一区二区三区| 高清一区二区三区日本久| 精品一区二区久久久久久久网精| 国产在线无码视频一区| 波多野结衣免费一区视频| 国产精品一区二区AV麻豆| 亚洲国产精品第一区二区三区| 精品免费国产一区二区三区 | 无码丰满熟妇一区二区| 久久精品免费一区二区喷潮| 国产成人一区二区精品非洲| 国产精品一区二区四区| 日韩视频一区二区三区| 无码夜色一区二区三区| 日韩视频一区二区在线观看 | 日本免费一区尤物| 污污内射在线观看一区二区少妇| 精品少妇一区二区三区在线| 福利一区二区在线| 日本精品一区二区三区视频| 国产91大片精品一区在线观看| 日韩电影一区二区三区| 亚洲综合无码AV一区二区 | 亚洲国产成人久久综合一区77 | 中文字幕亚洲综合精品一区| 伊人久久大香线蕉av一区| 国产成人无码精品一区在线观看| 国产主播福利精品一区二区| 麻豆一区二区99久久久久| 91国在线啪精品一区| 中文字幕不卡一区| 免费观看一区二区三区| 肉色超薄丝袜脚交一区二区| 亚洲av综合av一区| 亚洲一区二区三区播放在线| 国产精品分类视频分类一区| 中日韩精品无码一区二区三区| 亚洲色一区二区三区四区| 亚洲日韩一区精品射精|