2009-11-05 20 views
10

iphone kamera tarafından çekilen birkaç fotoğrafın bir mp4 video dosyasına kodlanması gerekiyor ve FFMPEG'in bunu yapabileceğini biliyorum (uygulama TimeLapser ve ReelMoments bunu zaten yapıyor). Bunu benim app iMotion'da (appstore'da mevcut) kullanmayı planlıyorum.Video kodlaması için iPhone SDK ile FFMPEG kütüphanesini kullanma

başarıyla yüklemek ve bu bağlantı ile iphone SDK için ffmpeg derlemek: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html

Ama şimdi benim XCode projesinde burada sıkıştım. Video kodlaması için FFMPEG kütüphanesini kullanmak için ne yapmalıyım? Apple'ın dış kütüphane kullanımı ile ilgili belgeleri çok açık ve web'de herhangi bir öğretici bulabilirim. Biri bana yardımcı olabilir

, çok grateful..`

Teşekkür olacağını

Proje menüsünde Aurelien Potier

+2

Eğer ffmpeg kullanıyorsanız LGPL'ye uyduğunuzdan emin olun. –

+1

Ayrıca, uygulamanızı App Store'a göndermeyi planlıyorsanız, ffmpeg kullanan yazılımların yasal etkilerinin farkında olun. Yargı alanınızdaki patentleri ihlal ediyor olabilir (http://ffmpeg.org/legal.html). Bu, App Store'da onay alma yeteneğinizi de etkileyebilir. –

+1

Evet, ffmpeg'i statik kitaplık olarak kullanırken LGPL'ye uymak için uygulama için kaynak kodunuzu veya nesne kodunuzu serbest bırakmanız gerekecek: http://huyzing.com/2009/08/24/compatibility- iphone-app-store-ve-the-lgpl/ –

cevap

8

seçin Düzenleme Aktif Hedef "[...]". Ardından Yapı ayırıcı içinde

, All Yapılandırma seçtiğinizden emin olun ve aşağıdakileri yapın:

  • arama 'Başlık Arama Yolları' ve FFmpeg başlıkları bulunduğu yerleri gösteren için;
  • 'Kütüphane Arama Yolları'nı arayın ve derlenmiş statik kütüphane ikili dosyalarının (.a dosyaları) nerede bulunduğunu belirtin.

Bunu yapmalı, ancak daha iyi bir numara vardır. Derleyicinin farklı mimariler için farklı ikilileri kullanması için 'Kütüphane Arama Yolları'na bir yapı koşulu ekleyebilirsiniz, yani hem Simülatör hem de Aygıt için sorunsuz bir şekilde derleyebilirsiniz. Aşağıdaki talimatlar.

  • Kütüphane Arama Yolları satırı seçiliyken, aynı pencerenin sol alt köşesindeki düğmeyi tıklatın ve Yapı Oluşturma Durumu Ekle'yi seçin;
  • 'Herhangi bir SDK' görünürse, 'Herhangi Bir iPhone OS Simülatörü'nü seçin ve x86 ffmpeg ikili dosyalarının yolunu belirtin.
  • 'Herhangi bir iPhone OS Cihazı' ile 'Herhangi Bir iPhone OS Simülatörü'nün yerine yukarıdaki adımları tekrarlayın ve ARM ffmpeg ikili dosyalarını belirtin.

Bu tür yapı ayarlarının bir örneği aşağıdadır.

alt text

11

Kontrol dışarı github iFrameExtractor projesi. Bu tam olarak aradığınız şey olmasa da, ffmpeg kitaplıklarını oluşturmak için betiklere sahiptir ve xcode projesi kütüphaneleri birbirine bağlar.

bu blog yayınında Biraz daha bilgi:

http://www.codza.com/extracting-frames-from-movies-on-iphone

+1

Çalışmayı denedim, ancak yaptığımda ./build_universal "lipo" dosyasında dosya var başarısız görünüyor ve ben * .a dosyaları olmadan sona erer. Bu hatayı alıyorum: 'lipo: dosya için belirtilen mimari tipi (armv6) (armv6/libavcodec.a), cputype (16777223) ve cpusubtype (3) (cputype (12) ve cpusubtype (6)) olmalıdır. lipo komutlarının her biri için –

+0

Bunu düzeltmek için http://stackoverflow.com/questions/6994151/problem-compiling-ffmpeg-for-iframeextractor – deimus

4

Başka bir seçenek bir sunucuda FFMPEG kullanmak olacaktır. Görüntüleri sunucuya gönderin ve videoyu dönüştürmek için PHP w/ffmpeg kullanın. Bununla, cihazda FFMPEG'i derlemek için endişelenmenize gerek kalmaz. Sadece bir düşünce

İlgili konular