2012-10-20 36 views
7

जो मैं करने की कोशिश कर रहा हूं वह .flv मीडिया फ़ाइल को RTMP सर्वर पर प्रकाशित करने के लिए ग्राहकों को देखने के लिए प्रकाशित कर रहा है। मैं कई ग्राहकों (oflaDemo) में स्ट्रीम देखने के लिए परीक्षण कर रहा हूं और ffplay के साथ।'वास्तविक समय' में RTMP सर्वर पर ffmpeg का उपयोग करके FLV फ़ाइल को प्रकाशित करने के लिए कैसे करें?

समस्या यह है कि ffmpeg सर्वर में 5 मिनट .flv फ़ाइल को लगभग 20 सेकंड में प्रकाशित करता है, इन 20 सेकंड में स्ट्रीम सदस्यता पर दिखाई देती है, लेकिन उसके बाद यह कट जाती है। आदेश मैं का उपयोग करें:

ffmpeg -i file.flv -re -acodec copy -vcodec copy -f flv "rtmp://localhost/oflaDemo/aaa live=1" 

मैं कैसे 5 मिनट, या किसी अन्य समाधान में 5 मिनट फ़ाइल स्ट्रीम करने के लिए मजबूर कर सकते हैं ffmpeg

धन्यवाद।

+2

से पहले मुझे विश्वास है कि '-re' इनपुट विकल्प के रूप में उपयोग किया जाना चाहिए, लेकिन मैं गलत हो सकता था। – LordNeckbeard

+0

@LordNeckbeard आप सही हैं –

उत्तर

11

मैं हल यह

-re पहले पैरामीटर होना चाहिए:

ffmpeg -re -i file.flv -acodec copy -vcodec copy -f flv rtmp://localhost/oflaDemo/a3 

से ffmpeg official documentation

सामान्य वाक्य रचना है:

ffmpeg [global options] [[infile options][‘-i’ infile]]... {[outfile options] outfile}... 

-re (इनपुट)

देशी फ्रेम दर पर इनपुट पढ़ें। मुख्य रूप से डिवाइस को पकड़ने के लिए उपयोग किया जाता है। डिफ़ॉल्ट रूप से ffmpeg जितनी जल्दी हो सके इनपुट (ओं) को पढ़ने का प्रयास करता है। यह विकल्प इनपुट (रों) के मूल फ्रेम दर के लिए इनपुट (रों) के पढ़ने धीमी हो जाएगी .....

डॉक्स का कहना है कि -re विकल्प इनपुट झंडा कि यह होना चाहिए जिसका मतलब है कि है infile options में -i ध्वज

+0

मैं वही बात कर रहा हूं: सर्वर के रूप में Red5, और ffmpeg स्ट्रीम को फ़ीड करता है, और स्ट्रीम देखने के लिए ffplay या VLC का उपयोग करता है। अब मैं धारा नहीं देख सकता! आप उसे कैसे करते हैं? धन्यवाद! – user1914692