जवाबों:
मुझे नहीं पता कि क्या यह ऐसा है ffmpegजो अपने डेटा को स्टैडआउट में आउटपुट नहीं कर सकता है, या ffplayजो स्टड से इसके इनपुट को नहीं ले सकता है।
यदि ऐसा है ffmpegकि अपने डेटा को stdout में आउटपुट नहीं कर सकता है:
capture /dev/stdout | ffmpeg -i - >(ffplay 2> /dev/null)
(आपको माइग्रेन को एक -तर्क जोड़ने की आवश्यकता है ffplayताकि स्टड से इसका इनपुट लिया जा सके।)
यदि ऐसा है ffplayकि स्टड से इसका इनपुट नहीं लिया जा सकता है:
ffplay <(capture /dev/stdout | ffmpeg -i -) 2> /dev/null
निर्माण <(command)और >(command)निर्माण के बारे में अधिक जानकारी के लिए, बैश मैनुअल की प्रक्रिया प्रतिस्थापन अनुभाग देखें ।
ffmpeg -i input.avi <options> -f matroska - | ffplay -
काम करेगा; आपको आउटपुट के लिए एक कंटेनर प्रारूप सेट करना होगा। यह सामान्य रूप से ffmpeg के साथ सेट किया जाता है जिसे आप एक्सटेंशन देते हैं जो आउटपुट देते हैं, लेकिन यहां आपको इसे मैन्युअल रूप से सेट करना होगा -f। मैं matroska (MKV) की सलाह देता हूं क्योंकि इसमें लगभग कोई भी वीडियो हो सकता है, इसलिए जो भी आप इसे ट्रांसकोड कर रहे हैं उसे पूरी तरह से अच्छी तरह से काम करना चाहिए।
ध्यान दें कि यदि आप Ubuntu 12.04 का उपयोग कर रहे हैं, तो ffmpeg को libav fork द्वारा बदल दिया गया है, और आपको इसका उपयोग करना चाहिए avconvऔर avplayइसके बजाय; वाक्यविन्यास अन्यथा समान है। वहाँ एक ffmpeg की तरह है, लेकिन यह डिजाइन द्वारा अपंग है।
pipe:: Invalid data found when processing inputKपॉवर शेल में त्रुटि होती है , लेकिन कमांड प्रॉम्प्ट में अच्छी तरह से काम करता है
ffmpeg पाइपिंग ऑपरेशन का समर्थन करता है। दस्तावेज़ीकरण के उस भाग को यहाँ देखें ।
मुझे नहीं पता कि ffplay कैसे काम करता है, लेकिन मानक आउटपुट के लिए ffmpeg के आउटपुट को पाइप करने के लिए, आप पाइप कमांड को ffmpeg कमांड के अंत में जोड़ सकते हैं। उदाहरण:
ffmpeg -i input.flv pipe:1 | ffplay -i -
man ffplay, मैं स्विच का ffplayसमर्थन नहीं देख -iसकता - क्या यह ffmpegकेवल है?
pipe:1बनाम -? -एफएफएमईजी 2.8.6 पर काम करता है।
सामान्य पाइप काम की तरह दिखता है (कम से कम खिड़कियों में):
ffmpeg -i sintel.mpg -pix_fmt yuv420p -f rawvideo - | ffplay -f rawvideo -pix_fmt yuv420p -s 720x480 -
अधिक जटिल इनपुट / आउटपुट के साथ इसे आजमाया नहीं गया है ...
ffmpeg -f dshow -i video=screen-capture-recorder -pix_fmt yuv420p -f mpegts - | ffplay -analyzeduration 10 -f mpegts -
थोड़ा तेज स्टार्टअप है
Unable to find a suitable output format for 'pipe:'- मुझे एक कोडेक निर्दिष्ट करने की आवश्यकता थी -f।