ffmpeg

2010-04-20 18 views
16

का उपयोग कर अमेज़ॅन एस 3 पर रिमोट वीडियो को कैसे पढ़ा जाए मुझे ffmpeg के माध्यम से अमेज़ॅन एस 3 पर होस्ट किए गए वीडियो से पोस्टर फ्रेम बनाने की आवश्यकता है।
ffmpeg -i "http://bucket.s3.amazonaws.com/video.mp4" -ss 00:00:10 -vframes 1 -f image2 "image%03d.jpg"ffmpeg

ffmpeg सिर्फ रिटर्न:
http://bucket.s3.amazonaws.com/video.mp4: I/O error occurred
Usually that means that input file is truncated and/or corrupted.

मैं भी वीडियो का उपयोग करने के लिए मजबूर कर ffmpeg की कोशिश की

तो वहाँ इस तरह ffmpeg कमांड लाइन में सीधे दूरस्थ वीडियो फ़ाइल का उपयोग करने के लिए एक रास्ता है पढ़ने के लिए एमपी 4 कंटेनर:
ffmpeg -f mp4 -i "http://bucket.s3.amazonaws.com/video.mp4" ...
लेकिन कोई भाग्य नहीं।

एस 3 से इस वीडियो को भूलें और इसे स्थानीय रूप से ठीक से काम करता है,
साथ ही फ़ाइल को अन्य 'मानक' http सर्वर से दूरस्थ रूप से पढ़ना।
तो मुझे पता है कि ffmpeg दूरस्थ फ़ाइल पढ़ने का समर्थन करता है, लेकिन S3 पर क्यों नहीं?

उत्तर

24

कभी नहीं, मुझे अपनी समस्या का समाधान करने का एक आसान तरीका मिला।

मैंने अपने एस 3 बाल्टी को इंगित करने वाला एक अमेज़ॅन क्लाउडफ़्रंट डाउनलोड वितरण स्थापित किया।
CloudFront वाया को http अधिक ffmpeg के साथ सुलभ हैं:

ffmpeg -i "http://subdomain.cloudfront.net/video.mp4" -ss 00:00:10 -vframes 1 -f image2 "image%03d.jpg"

और डेटा स्थानांतरण भी सस्ता है! लेकिन अभी भी सोच रहा है कि यह सीधे S3 के साथ क्यों काम नहीं करेगा ...

+0

मुझे एक ही समस्या थी, बाल्टी से खींचने से सीधे काम नहीं होता है। यह लाइमलाईट के सीडीएन के माध्यम से वीडियो खींचने में भी काम नहीं करता था। केवल क्लाउडफ्रंट के माध्यम से काम किया। बहुत अजीब .. – bskinnersf

+0

जब मैं बाल्टी नीति –

+2

जोड़ता हूं तो मेरे लिए काम करता है मुझे लगता है कि यह पहले '-ss' मान निर्दिष्ट करने में मदद कर सकता है, पुनः: http://stackoverflow.com/questions/18534835/fastest-way-to-extract -ए-विशिष्ट-फ्रेम-से-ए-वीडियो-php-ffmpeg-कुछ भी – weisjohn

6

मेरे मामले में, सीधे एक आकर्षण की तरह एस 3 बाल्टी काम को पढ़ने के लिए पढ़ना। अधिक विशिष्ट होने के लिए, मेरे एस 3 ऑब्जेक्ट में निजी अनुमति है इसलिए मैं ffmpeg पर साइन-यूआरएल पास कर रहा हूं।

मैं साइन-यूआरएल उत्पन्न करने के लिए रूबी और एडब्ल्यूएसआरबीएसडीडी का उपयोग करता हूं। http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3/S3Object.html#url_for-instance_method

अपनी एस 3 ऑब्जेक्ट की अनुमति की जांच करें।

+0

आपने यूआरएल के लिए ffmpeg के साथ किस विशिष्ट कमांड का उपयोग किया था? मुझे खराब अनुरोध त्रुटि मिल रही है। यह सामान्य यूआरएल के लिए पूरी तरह से ठीक काम करता है। –

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

  • कोई संबंधित समस्या नहीं^_^