2009-12-28 32 views
9

आईफोन ऐप मैं कुछ उपयोगकर्ता परिभाषित समय अंतराल के भीतर श्रृंखला में छवियों को कैप्चर करने पर काम कर रहा हूं, मैं इन छवियों को H264 एन्कोडेड वीडियो में गठबंधन करने का एक तरीका ढूंढ रहा हूं। मैंने Google पर कुछ शोध किया है, ऐसा लगता है कि मुझे आईफोन पर ffmpeg/mencoder जैसे कुछ का उपयोग करना होगा? (किसी ने भी आईफोन, ffmpeg4iPhone को ffmpeg पोर्ट किया)एच 264 एनकोडर्स ffmpeg x264

हालांकि, मुझे पता चला कि x264 जीपीएल लाइसेंस के तहत है, और अगर मैं ffmpeg का उपयोग करता हूं तो मुझे अपने प्रोजेक्ट को खोलने की आवश्यकता होती है। कुछ लोगों ने ओग थियोरा का उपयोग करने का सुझाव दिया, लेकिन अगर मैं इसका इस्तेमाल करता हूं तो मुझे इसे आईफोन पर बंदरगाह करने की आवश्यकता होगी। (जो मुझे यकीन नहीं है कि अब इसे कैसे करें)।

क्या इसके लिए कोई कामकाज है? कोई विचार? धन्यवाद।

+0

आप ffmpeg का उपयोग नहीं करना चाहते हैं, आईओएस पहले से ही AVFoundation कक्षाओं के माध्यम से h.264 डेटा लिखने का समर्थन करता है। उनका उपयोग करना आसान नहीं है, लेकिन यह ffmpeg से बेहतर है क्योंकि कोई लाइसेंस समस्या नहीं है और ffmpeg बहुत धीमी गति से चलने के बावजूद भी आपको संकलित करने के लिए मिल जाएगा। – MoDJ

उत्तर

8

मुझे लगता है कि आप एक जीपीएल-बाँध वहाँ में हैं और दो सुझाव हैं:

  1. बस आगे जाना है और जीपीएल अपनी परियोजना। ऐसा कोई कारण नहीं है कि आप ओपन सोर्स सॉफ़्टवेयर नहीं बेच सकते हैं, और ऐप स्टोर की देरी/जुर्माना अवधि आपको जीपीएल कोड के साथ किसी भी संभावित पूर्ण परियोजना पर एक अच्छा लीड टाइम देगी। आईट्यून्स स्टोर पर आपकी जगह, आपकी प्रेरणा और कोई ब्रांडिंग शायद स्रोत कोड से अधिक मूल्यवान है। इसके अलावा, आप अन्य लोगों को आपके लिए बग ठीक करने के लिए प्राप्त कर सकते हैं। अद्यतन: जनवरी 2011 तक, GPL and App Store do not mix

  2. आईफोन ऐप किसी सर्वर पर कच्ची छवियां अपलोड करें और पर प्रोसेसिंग करें। इस तरह आप एफएफएमपीईजी और एक्स 264 कोड को जारी और वितरित नहीं कर रहे हैं, और इसलिए इसे वितरित करने की आवश्यकता नहीं है।

शुभकामनाएं और अगर आप इसे प्रकाशित करते हैं तो हमें यहां बताएं!

+0

आप ऐप स्टोर में जीपीएल कोड नहीं डाल सकते हैं। सरल। – damian

+0

@damain: यह एक हालिया विकास है, जनवरी 2011. और विशेष रूप से एक साधारण विषय नहीं है। (Google ऐप स्टोर जीपीएल वीएलसी।) मैं जितना अधिक प्रतिबिंबित करने के लिए पोस्ट संपादित करूंगा, अपने डाउनवोट को पूर्ववत करने के लिए स्वतंत्र महसूस करें। : पी –

+1

पूर्ववत :-) एक प्रोग्रामर के रूप में जिसने अतीत में कोड जीपीएल जारी किया है, मैं वहां गलत जानकारी के बारे में चुनौतीपूर्ण हूं – damian

1

मेरा मानना ​​है कि यदि आप ffmpeg का उपयोग नहीं करना चाहते हैं तो आप केवल x264 कार्यान्वयन के व्यावसायिक संस्करणों को ढूंढ पाएंगे (कुछ अन्य ओपनसोर्स संस्करण मौजूद हो सकते हैं लेकिन बहुत कम गुणवत्ता वाले)। साथ ही, आपको यह ध्यान में रखना होगा कि यदि आप उन कोडेक्स का उपयोग करते हैं और आप प्लेटफ़ॉर्म/आईफोन वाले लोगों का उपयोग न करने का निर्णय लेते हैं तो आपको पेटेंट के कारण रॉयल्टी का भुगतान करना होगा (मुझे लगता है कि यह प्रति डाउनलोड लगभग 1 डॉलर है)।

यदि यह अभी भी आपके लिए सस्ती है, तो मेरा मानना ​​है कि आप ffmpeg का पुराना संस्करण ढूंढ सकते हैं जो एलजीपीएल था। आप पूरे प्रोजेक्ट को खोलने के बिना इसे अपने कोड में इस्तेमाल कर सकते हैं। आपको केवल ओपनसोर्स परिवर्तनों की आवश्यकता है जो आप ffmpeg पर कर सकते हैं।

आशा है कि इससे मदद मिलती है!

+0

उत्तर के लिए धन्यवाद! मैंने अभी ffmpeg की साइट http://ffmpeg.org/legal.html पर जांच की है, इसका वर्तमान संस्करण एलजीपीएल लाइसेंस के तहत है, लेकिन जीपीएल के तहत कई वैकल्पिक भागों का उपयोग करता है। क्या x264 से भिन्न का उपयोग कर h264 एन्कोडर ffmepg है और एलजीपीएल लाइसेंस के तहत है? जैसा कि मुझे पता है कि x264 जीपीएल लाइसेंस के तहत है। – 0pcl

+1

हां, ffmpeg एलजीपीएल के तहत है और x264 जीपीएल के तहत है। एफएफएमपीईजी अपने स्वयं के एलजीपीएल डिकोडर का उपयोग करता है, हालांकि एन्कोडिंग के लिए यह x264 पर निर्भर है। तो आप इसे वाणिज्यिक एप्लिकेशन के लिए उपयोग नहीं कर सकते हैं। – Serafeim

2

ffmpeg प्रकट होता है अब सिस्को "openh264" (बीएसडी FWIW) एन्कोडिंग कोडेक के लिए समर्थन हासिल है:

https://www.ffmpeg.org/ffmpeg-codecs.html#libopenh264

FWIW यहाँ है कि मैं क्या मेरी LGPL निर्माण से मिलता है:

ffmpeg.exe -codecs | grep h264 
... 
ffmpeg version n3.1.2 Copyright (c) 2000-2016 the FFmpeg developers 
DEV.LS h264     H.264/AVC/MPEG-4 AVC/MPEG-4 part 10 (decoders: h264 h264_qsv) (encoders: libopenh264 h264_nvenc h264_qsv nvenc nvenc_h264) 

जो उल्लेख है कुछ अन्य एन्कोडर्स एफडब्ल्यूआईडब्ल्यू, और एफएफएमपीजी दूसरों को भी समर्थन दे सकता है।