2012-03-24 10 views
6

जब मैं वीडियो प्रारूप एमपीईजी -2 (कॉन्सटेंट वैल्यू 8) टीएस और ऑडियो प्रारूप एसीसी (कॉन्सटेंट वैल्यू 3) सेट करता हूं तो यह केवल एसीसी प्रारूप में ऑडियो के बिना वीडियो रिकॉर्ड करता है । लेकिन यह कोई त्रुटि नहीं देता है। मैंने सैमसंग गैलेक्सी टैब (हनीकॉम) पर कोशिश की। चूंकि MPEG-2TS एंड्रॉइड संस्करण 3.0+ पर समर्थन करता है। अगर मैं डिफ़ॉल्ट वीडियो और ऑडियो प्रारूप का उपयोग करता हूं तो यह ठीक काम करता है। मैं यह कैसे कर सकता हूं। कृपया मदद करे।एमपीईजी -2 टीएस आउटपुट और एसीसी ऑडियो एन्कोडिंग प्रारूप में वीडियो रिकॉर्ड करने के लिए कैसे करें

if(mCamera == null) { 
    mCamera = Camera.open(); 
    mCamera.unlock(); 
} 


if(mMediaRecorder == null) mMediaRecorder = new MediaRecorder(); 

mMediaRecorder.setPreviewDisplay(surface); 
mMediaRecorder.setCamera(mCamera); 
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
mMediaRecorder.setOutputFormat(8); 
mMediaRecorder.setOutputFile("/mnt/sdcard/temp.ts"); 
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
mMediaRecorder.setVideoSize(640, 480); 

mMediaRecorder.setVideoEncodingBitRate(500000); 
mMediaRecorder.setAudioEncodingBitRate(44100); 
mMediaRecorder.setVideoFrameRate(30); 
mMediaRecorder.setMaxDuration(-1); 
mMediaRecorder.prepare(); 
+0

पोस्ट अपने त्रुटि लॉग। –

+0

आपको कोड दोस्त पोस्ट करें :-) –

+0

आप कैसे देख रहे हैं कि इसमें कोई ऑडियो नहीं है? क्या आप टीएस फाइल को डिमक्स कर रहे हैं? – freeone3000

उत्तर

0

ऐसा लगता है कि आपकी समस्या ऑडियो एन्कोडर्स से जुड़ी है। एंड्रॉइड 2.3.3 (जिंजरब्रेड) से पहले आपको एन्कोडर को AMR_NB पर सेट करना होगा। 2.3.3 के रूप में आप ऑडियो कोडेक्स के रूप में AMR_WB और AAC का भी उपयोग कर सकते हैं।

+1

आपको मेरी आवश्यकता नहीं है। यह mpeg2ts और एएसी में ऑडियो और वीडियो mux करने में असमर्थ है। –

+0

@SuvamRoy "mux" क्या है? –

+0

दरअसल मुझे आवश्यकता है कि मैं एमईआरजी -2 टी आउटपुट प्रारूप में वीडियो रिकॉर्ड करना चाहता हूं, और इस प्रारूप के लिए केवल एसीसी ऑडियो एन्कोडर एंड्रॉइड डेवलपर गाइड के अनुसार समर्थन करता है। इसलिए, मैं ऑडियो के बिना उस प्रारूप में वीडियो रिकॉर्ड करने में सक्षम हूं। अगर मैं अपना ऑडियो एन्कोडर बदलता हूं, तो यह अपवाद देता है। अगर मैं सभी डिफ़ॉल्ट वीडियो और ऑडियो एन्कोडर का उपयोग करता हूं, तो यह वीडियो और ऑडियो रिकॉर्ड करने में सक्षम है। –

0

mMediaRecorder.setAudioEncodingBitRate (44100): 44100 एक अच्छी ऑडियो बिट दर नहीं है। यह नमूना दर की अधिक संभावना है। 128000 अधिक सामान्य रूप से एक ऑडियो बिट दर है।

ऐसा कहकर, मुझे सैमसंग गैलेक्सी एस 3 पर m2ts प्रारूप में रिकॉर्डिंग में भी परेशानी हो रही है।

mediaRecorder = new MediaRecorder(); 
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    mediaRecorder.setOutputFormat(/*MediaRecorder.OutputFormat.OUTPUT_FORMAT_MPEG2TS*/8); 
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
    mediaRecorder.setAudioSamplingRate(48000); 
    mediaRecorder.setAudioEncodingBitRate(128000); 

OutputFormat.OUTPUT_FORMAT_MPEG2TS विकल्प वास्तव में एंड्रॉयड 4.2.2 SDK में छिपा हुआ है। इसलिए '8' का उपयोग करें। यह एक सुराग हो सकता है कि यह प्रारूप वास्तव में समर्थित नहीं है।

0

समाधान M2ts Writer में एक पैच लगा रहा है। libstagefright.so बनाएं और डिवाइस पर पुश करें। आवेदन

recorder.setAudioSamplingRate(48000); 
recorder.setAudioEncodingBitRate(128000); 

या तो यह क्लिप को पूरी तरह से रिकॉर्ड नहीं करेगा। हालांकि मैंने उपर्युक्त मानकों को स्थापित करने के कारण में खोद नहीं लिया। libstagefright में M2tsWriter के लिए

पैच:

diff --git a/media/libstagefright/MPEG2TSWriter.cpp b/media/libstagefright/MPEG2TSWriter.cpp 

index c9ed5bb..a42371f 100644 

--- a/media/libstagefright/MPEG2TSWriter.cpp 

+++ b/media/libstagefright/MPEG2TSWriter.cpp 

@@ -411,6 +411,7 @@ void MPEG2TSWriter::SourceInfo::onMessageReceived(const sp<AMessage> &msg) { 
          (const uint8_t *)buffer->data() 
          + buffer->range_offset(), 
          buffer->range_length()); 
+     readMore(); 
       } else if (buffer->range_length() > 0) { 
        if (mStreamType == 0x0f) { 
         if (!appendAACFrames(buffer)) { 
संबंधित मुद्दे

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