2013-04-28 5 views
25

क्या कच्ची आरटीएसपी धारा को फ़ाइल में डंप करना संभव है और बाद में फ़ाइल को कुछ बजाने योग्य तरीके से डीकोड करना संभव है?कच्चे आरटीएसपी धारा को फाइल करने के लिए कैसे डंप करें?

वर्तमान में मैं स्ट्रीम को प्राप्त करने और डीकोड करने के लिए एफएफएमपीजी का उपयोग कर रहा हूं, इसे एक एमपी 4 फ़ाइल में सहेज रहा हूं। यह पूरी तरह से काम करता है, लेकिन सीपीयू गहन है, और मेरे सर्वर पर एक साथ प्राप्त आरटीएसपी धाराओं की संख्या को गंभीर रूप से सीमित कर देगा।

मैं स्ट्रीम को बिना डीकोड किए फ़ाइल को सहेजना चाहता हूं, और फ़ाइल को खोले जाने पर डीकोडिंग भाग में देरी करना चाहता हूं।

क्या यह संभव है?

मैंने वीएलसी की कोशिश की है, जो एफएफएमपीईजी से भी अधिक सीपीयू गहन है। मैंने this question पर भी देखा है जहां उत्तर कहता है कि फ़ाइल को आरटीएसपी डंपिंग उपयोगी नहीं है, और this question, जहां सवाल के नीचे टिप्पणी कहती है, "कच्चे आरटीएसपी सामग्री को बचाने और पुनः चलाने के लिए उपयुक्त नहीं है ...", जो इंगित करता है कि रास्ता है।

अग्रिम धन्यवाद!


संपादित यहाँ आदेश मैं FFmpeg के लिए उपयोग कर रहा हूँ है:

ffmpeg -i rtsp://@192.168.241.1:62159 -r 15 C:/DB_Videos/2013-04-30 17_18_34.703.mp4

उत्तर

34

आप अपने ffmpeg कमांड लाइन में reencoding रहे हैं, तो कारण हो सकता है यही कारण है कि यह सीपीयू है गहन। आपको स्ट्रीम को केवल एक कंटेनर में कॉपी करने की आवश्यकता है। चूंकि मेरे पास आपकी कमांड लाइन नहीं है, इसलिए मैं यहां एक विशिष्ट सुधार का सुझाव नहीं दे सकता। आपके एसीडीसी और वीकोडसी को कॉपी करने के लिए सेट किया जाना चाहिए जो मैं कह सकता हूं।

संपादित करें: अपनी कमांड लाइन को देखते हुए और आपने इसे पहले से ही आजमाया है, यह उन लोगों के लाभ के लिए है जो एक ही प्रश्न में आते हैं। आदेश:

ffmpeg -i rtsp://@192.168.241.1:62156 -acodec copy -vcodec copy c:/abc.mp4 

ट्रांसकोडिंग नहीं करेगा और आपके लिए फ़ाइल mp4 में डंप नहीं करेगा। बेशक यह माना जाता है कि स्ट्रीम की गई सामग्री एक एमपी 4 के साथ संगत है (जो कि वे सभी संभावनाओं में हैं)।

+0

मुझे लगता है, तो कॉपी जोड़ने से CPU उपयोग कम हो जाना चाहिए? मैं इसे जाने दूंगा। (प्रश्न में मेरा एफएफएमपीईजी कमांड जोड़ा गया)। मैं अस्वीकरण भी जोड़ूंगा कि मैं एक पूर्ण एफएफएमपीजी शुरुआती हूं :) – Felix

+0

वाह, वह पागल है! मेरा सीपीयू उपयोग 7% से 0.1% तक चला गया !!! बहुत बहुत धन्यवाद av501! – Felix

+0

आपका स्वागत है। मैं अनुमान लगा रहा हूं कि आपने जोड़ा-acodec copy -vcodec प्रतिलिपि है और आपको अपनी मूल प्राप्त सामग्री प्रदान करनी चाहिए। – av501

9

इस आदेश मैं खराब छवि गुणवत्ता

ffmpeg -i rtsp://192.168.XXX.XXX:554/live.sdp -vcodec copy -acodec copy -f mp4 -y MyVideoFFmpeg.mp4 
इस के साथ

था, लगभग बिना किसी देरी के साथ, मैं अच्छी छवि गुणवत्ता मिल गया।

ffmpeg -i rtsp://192.168.XXX.XXX:554/live.sdp -b 900k -vcodec copy -r 60 -y MyVdeoFFmpeg.avi 
4

आप mplayer का उपयोग कर सकते हैं।

mencoder -nocache -rtsp-stream-over-tcp rtsp://192.168.XXX.XXX/test.sdp -oac copy -ovc copy -o test.avi 

"कॉपी" कोडेक स्ट्रीम की सिर्फ एक गूंगा प्रति है। मेनकोडर एक हेडर और सामान जोड़ता है जिसे आप शायद चाहते हैं।

mplayer स्रोत फ़ाइल में "स्ट्रीम/stream_rtsp.c" 640k की एक prebuffer_size सेटिंग है और आकार को बदलने के लिए कोई विकल्प नहीं है फिर पुन: संकलित करें। नतीजा यह है कि स्ट्रीम लिखना हमेशा देरी होता है, जो कैमरों जैसी चीजों के लिए परेशान हो सकता है, लेकिन इसके अलावा, आपको एक आउटपुट फ़ाइल मिलती है, और बिना किसी समस्या के इसे अधिकांश जगहों पर वापस चला सकते हैं।

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

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