tee
आदेश डिफ़ॉल्ट रूप से फ़ाइलें प्लस मानक आउटपुट के किसी भी संख्या के लिए मानक इनपुट और प्रतियां से पढ़ता है, को देखने के man tee
अधिक जानकारी के लिए। इसका मतलब है कि आप टी को इनपुट से फाइल बनाने के लिए कह सकते हैं और फिर आउटपुट को किसी और चीज में पाइप कर सकते हैं।
एक अतिरिक्त पाइप के अलावा सिद्धांत में थोड़ी अक्षमता है। जैसे कि यह महत्वपूर्ण है या नहीं, आपको अपनी स्वयं की स्ट्रीमिंग पद्धति का उपयोग करके खुद के लिए न्याय करना होगा। मेरा वर्तमान तरीका पूर्ण संकल्प पर संतोषजनक नहीं है। यह अभी बहुत बड़ा हित नहीं है, लेकिन जब मैं यह करूँगा तो कुछ बेहतर खोजने की कोशिश करूँगा (जैसे कि माना जाता है कि gstreamer क्लिम्ब से बेहतर काम करता है)।
हालांकि, यह ध्यान देने योग्य है कि एक ही समय में पीआई पर स्थानीय रूप से सहेजी गई फ़ाइल सही गुणवत्ता है, इसलिए गतिविधि रास्पिड के साथ हस्तक्षेप नहीं करती है। यहाँ एक उदाहरण है:
raspivid -o - -t 0 | tee test_video.h264 |
cvlc -v stream:///dev/stdin --sout '#standard{access=http,mux=ts,dest=:8080' :demux=h264
मैंने इसे पठनीयता के लिए दो लाइनों में तोड़ दिया; आप |
(पाइप) के बाद वापसी को हिट कर सकते हैं और कमांड खत्म कर सकते हैं जैसे आप एक लाइन को तोड़ सकते हैं \
। आप cvlc
जो चाहें उससे बदल सकते हैं। फिर, हालांकि धारा खराब गुणवत्ता की थी, test_video.h264
एकदम सही निकली।
यदि मैं 640x360 तक रिज़ॉल्यूशन कम करता हूं, तो यह व्यवस्था ठीक है, एक या दो बार विलंबता के साथ जो मुझे सामान्य रूप से मिलता है। मुझे नहीं लगता कि tee
या दूसरा पाइप स्ट्रीम की गुणवत्ता पर कोई फर्क पड़ता है; ये यहां आवश्यकता से अधिक उच्च थ्रूपुट के लिए सक्षम हैं और सिस्टम संसाधनों के रास्ते में बहुत अधिक आवश्यकता नहीं है।
सीपीयू 35-45% पर चला गया, जो कि वैसा ही है जैसा वीडियो स्ट्रीमिंग के दौरान होता है tee
।
raspivid
आप कर सकता हैtee
एक फाइल करने के लिए उत्पादन और gstreamer या जो कुछ भी (देखेंman tee
)। जब तक एक धारा डिस्क पर सीधी होती है, तब तक यह बहुत अधिक ओवरहेड नहीं करेगा, लेकिन अगर आप इनपुट को दो अलग-अलग प्रारूपों में संसाधित करना चाहते हैं तो मुझे लगता है कि पीआई को संभालने के लिए बहुत अधिक काम होगा।