2017-07-20 9 views
8

मैं निम्नलिखित मेरी MediaRecorder कार्यान्वयन के साथ निर्दिष्ट वीडियो WebRTC MediaRecorder का उपयोग कर:रिकॉर्डिंग पार मंच (? 264)

const getMediaRecorderOptions = function() { 
    var options = { mimeType: "video/webm;codecs=vp8" }; // 9 was lagggy, cpu-intensive 

    if (!MediaRecorder.isTypeSupported(options.mimeType)) { 
     logger.recorderLog(options.mimeType + " is not Supported"); 
     options = { mimeType: "video/webm;codecs=vp8" }; 

     if (!MediaRecorder.isTypeSupported(options.mimeType)) { 
      logger.recorderLog(options.mimeType + " is not Supported"); 
      options = { mimeType: "video/webm" }; 

      if (!MediaRecorder.isTypeSupported(options.mimeType)) { 
       logger.recorderLog(options.mimeType + " is not Supported"); 
       options = { mimeType: "" }; 
      } 
     } 
    } 
    return options; 
} 

जाहिर है, यह सिर्फ webm जो आईओएस पर समर्थित नहीं है के लिए है सफारी या मैकोज़। मैं अपने भंडारण को दोगुना करने और एन्कोडिंग जटिलता शुरू करने से बचने की कोशिश कर रहा हूं। क्या क्रोम पर MediaRecorder सीधे से एक क्रॉस-प्लेटफ़ॉर्म कंटेनर प्रारूप, से किसी भी प्लेटफ़ॉर्म को रिकॉर्ड कर सकता है?

उत्तर

3

आप तो तुम एक WebM कंटेनर में सही क्रॉस प्लेटफॉर्म वीडियो प्रारूप (264) है webm/h.264

var options = {mimeType: 'video/webm;codecs=h264'}; 

media_recorder = new MediaRecorder(stream, options); 

को रिकॉर्ड करने के लिए सक्षम होना चाहिए।

अब आप ffmpeg.js को आजमा सकते हैं और केवल कंटेनर को वेबएम से mp4 में बदल सकते हैं - H.264 स्ट्रीम को कॉपी करना - कोई ट्रांसकोडिंग (-vcodec प्रति)।

मैंने क्रोम में वेबएम/एच .264 में रिकॉर्ड किया लेकिन मैंने ffmpeg.js के साथ इसे फिर से लपेटने की कोशिश नहीं की।

+0

नीट - क्या मैं उनको आईओएस/मैकोज़ पर चलाने में सक्षम हूं? मैं इस धारणा के तहत था कि सफारी/क्रोम आईओएस में कोई वेबएम कंटेनर नहीं खेलेंगे। – SB2055

+0

मुझे संदेह है कि सफारी में वेबएम/एच .264 नाटकों लेकिन सैद्धांतिक रूप से - चूंकि मैंने इसे आजमाया नहीं है - आप रिकॉर्डिंग ब्राउज़र के अंदर ffmpeg.js का उपयोग कर वेबएम/एच .264 से MP4/H.264 तक कंटेनर को बदलने का प्रयास कर सकते हैं रिकॉर्डिंग प्रक्रिया के हिस्से के रूप में। चूंकि आप ट्रांसकोडिंग नहीं कर रहे हैं - वीडियो एच 2264 रहता है - यह अपेक्षाकृत हल्के ऑपरेशन होना चाहिए। –

संबंधित मुद्दे