سؤال

في iPhone OS 3، قدمت Apple HTTP لايف البث والتي يجب أن تسمح بث مباشر من الفيديو من الإنترنت. أقوم حاليا بتشغيل كاميرا ويب، والتي تغذي الخادم الخاص بي، ثم يتم تحويلها ثم إلى دفق FFMPEG، وتدفق مرة أخرى باستخدام FFServer. هل يعرف أحد كيفية إعداد دفق الفيديو الذي يمكن أن يستخدمه iPhone باستخدام FFMPEG و FFServer؟ يجب أن أكون قادرا على إعادة الترميز في أي تنسيق فقط على الطاير.

هل كانت مفيدة؟

المحلول

ستحتاج إلى إنشاء نسخة من ffmpeg مع إصدار> = E109A29DDDBB02B2DD58C6C385EBEC27F2D23B58 (GIT) أو 18793 (SVN). تأكد من أنك تحدد أيضا علامة LIBX264 القابلة للحمل عند البناء. بمجرد الوصول إلى ذلك وتشغيله، يمكنك القيام بما يلي تقريبا:

ffmpeg -i <input video> -acodec libmp3lame -ac 1 -vcodec libx264 -s 320x240 \
       -level 30 -f mpegts - | \
segmenter - 10 test test.m3u8 http://example.com/path/to/your/files/

أي جلب ملف الإدخال أو الدفق إلى FFMPEG و أنابيب الفيديو H.264 مع صوت MP3 في تطبيق Apple's Searter. ينضج النقاب على ملفات الفيديو المجزأة وقوائم التشغيل M3U التي يشير إلى الملفات المجزأة. كنت تخدم الملفات والقوائد المجزأة عبر خادم ويب مثل Apache.

من الواضح أنك تريد تعديل خيارات FFMPEG والجزء بشكل كبير للحصول على النتائج التي تلت فيها.

نصائح أخرى

بالنسبة لأولئك الذين يهتمون بتجميع قطاع مفتوح المصدر مع برنامج نصي سيسمح لك باستخدام FFMPEG للقيام بذلك، راجع تدفق مجزوء على iPhone المشروع. يمكن أن تفعل قطاعات متعددة البايات لتدفقات الإدخال وستقوم بنقل قطاعات الدفق إلى وجهة قابلة للتكوين عبر SCP وبروتوكول نقل الملفات وحتى ما يصل إلى AWS S3.

هذا موضوع قديم، ولكن دعم HLS، ميزة جديدة على ما يبدو من FFMPEG قد تكون مفيدة لشخص ما.

سيكون استخدام مثال على النحو التالي:

ffmpeg -i <input_file> -c:v libx264 -preset slow -map 0 -an -flags -global_header -f hls -hls_time <segment_length> <m3u8_file>

إذا كنت ترغب في القيام بث مباشر، فسيكون ذلك مثالا آخر:

ffmpeg -i <input_stream> -c:v libx264 -preset ultrafast -map 0 -an -flags -global_header -f hls -hls_time <segment_length> -hls_list_size <playlist_entries> -hls_wrap <wrap> <m3u8_file>

ال -hls_list_size حجة تحد من عدد الملفات في قائمة التشغيل، و -hls-wrap تحد الوسيطة عدد الملفات الإجمالية وسوف تغلب أسماء الملفات بمجرد أن تصل إلى تلك النقطة (EX: Test0.ts، Test1.ts ... Test7.ts، Test0.ts، Test1.ts ... عندما التفاف 8).

لمزيد من المعلومات، راجع وثائق. وبعد يرجى ملاحظة، الأمثلة أعلاه تجريد الصوت مع -an علم، كما أنا شخصيا لا أحتاج إليها أبدا.

ما الخطأ في استخدام QuickTime لتحويل الأفلام إلى تنسيق "iPhone"؟ أنت فقط ملف> تصدير> تنسيق iPhone ... هل أنا أفتقد شيئا؟

بعد التحويل إلى تنسيق iPhone، أقوم بتقطيعها باستخدام MediaFilegeuting (الموجود في اتصال مطور التفاح، أدوات البث المباشر HTTP):

mediafilesegmenter -t 10 -f folderName/ nameOfInputFile.m4v

(ملاحظة: يجب أن يكون المجلد / المجلد موجودا)

ثم توجيه جهاز iPhone الخاص بك إلى موقع ويب

<video src='folderName/prog_index.m3u8' height=45 width=70 
       controls='on'>Your browser does not support the video tag</video>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top