2011-12-12 33 views
11

Apple'ın, iPhone uygulamalarındaki videoları görüntüleyebilmek için HTTP Canlı Akışını gerekli kıldığını fark ettim. Daha önce bunun farkında değildim ... Şimdi bunun neyi içerdiğini anlamaya çalışıyorum, böylece işin 3G yapmasını ve videoları 3G'de kullanılabilir hale getirip getirmemeye veya video oynatmayı kablosuz bağlantıya bağlı kullanıcılarla sınırlandırmaya karar veriyorum. .Unix'te HTTP Live Streaming sunucusu nasıl uygulanır?

Apple tarafından sağlanan overview numarasını okudum ve şimdi sunucumun medya dosyalarımı bölümlere ayırıp dizine eklemesi gerektiğini anlıyoruz. Ayrıca, içeriği yayınlayabilmek için içeriği barındırmam gerekmediğini de anlıyorum (başka bir yere barındırılan bir videoya işaret edebilirim, değil mi?). Bu noktada bana net değil ne

İstediğim videoları ev sahipliği yok, bir kez daha sinek (gerçek .s.egmpntlenmesini ve indeksleme yapmak benim sunucusu (Ubuntu Hardy) üzerine uygulamak için ne servis).

FFmpeg ve X264'ün nasıl yükleneceğini açıklayan bir link buldum, ancak bunun en iyi çözüm olup olmadığını bilmiyorum (bir Ubuntu sunucum olduğundan, Apple Live Streaming araçlarını kullanamıyorum, doğru mu ?). Ayrıca, sunucumun hangi noktada dönüştürüleceğini ve işin başlatılacağını anlayamıyorum.

Sunucu tarafında ne yapılacağını tam olarak anlayabilmem için bana yardımcı olabilecek her türlü geri bildirim 3G'deki iPhone uygulamamdaki videolar çok beğenilecek! (Oh, ve sadece, herhangi bir fark yaratıyor benim app arka uç Raylar olan) Web kamerasından canlı içerik akışı istiyorsanız

+0

i (rtmp üzerinden) FMLE & red5 kimse Cevabınız için – malletjo

+0

Teşekkür yaptıysam ben sonradan cevap verecektir düşündürmektedir. Netleştirmek istediğim tek şey, kaydedilen videolarla ilgileniyorum, canlı gösteriler değil. – alex

+0

İçeriği sunucuya aktarmak için içeriği barındırmanız gerekiyor. Barındırma ve sunum arasındaki fark olarak ne görüyorsunuz? Kabul edilen cevabın sorunuzla ilgisi yok, bu yüzden neden kabul ettiğinizi bilmiyorum. – vipw

cevap

8

: FMLE (flaş medya encoder canlı)

akışla istiyorsanız statik içerik (film): ffmpeg & xuggle

red5:

Sen medya sunucusu olabilir red5 (açık kaynak ve ücretsiz) veya FMS veya wowza. Ama sadece red5 kullandım, diğerlerini bilmiyorum. Red5 here'u bulabilirsiniz.

Sunucunuz herhangi bir yerde olabilirsiniz ancak bazı bağlantı noktalarını (en az 1935 rtmp için), "yönetim paneli" için 5080 açmanız gerekecek, listede 9999 görebilirsiniz. (Dokuyu kontrol edin) Red5, java'da bir medya sunucusudur, bu yüzden java jdk> = 1.6'ya ihtiyacınız olacaktır.

Red5 1.0 RC here bulunabilir. Windows, osx veya linux için bir versiyon bulabilirsiniz. Tarball sürümünü kullandım. Ayıkla ve "red5.sh" yi çalıştır. Yöneticiye http://localhost:5080/ numaralı telefondan erişebilmeli ve ayrıca görüntülenen bir videoyu görmelisiniz. Değilse, yanlış bir şey var ve bu işe başlayana kadar devam edemezsin. Ffmpeg ile

Akış:

Sen here xuggle bulabilir ve bu here

ffmpeg -i your_file.flv -re -acodec copy -vcodec copy -f flv rtmp://localhost_or_yourred5serverip/live/livestream 

hakkında daha fazla bilgi bulabilirsiniz unutmayın ki web yalnızca flv üzerinde akışa istiyorsanız ve mp4 flash player'da oynuyor olabilir (sanırım). Akış başladıktan sonra "admin panel" here'da görebilmeniz gerekir. Sunucunuza (rtmp: // localhost/live /) bağlanın ve görünüm sekmesine gidip "livestream" yazın. Videonuzu da görmek için mplayer rtmp: // localhost/live/livestream'i kullanabilirsiniz.flash oynatıcı

akışı:

Sen ya jwplayer (rtmp eklenti ile) flowplayer kullanabilirsiniz.

+0

ve burada bir takip soru şudur: Eğer halinde http://stackoverflow.com/questions/8497541/installing-faad-library-for-ffmpeg-through-homebrew-on-mac-os-x-lion yardımcı olabilir tekrar! Teşekkürler. – alex

+0

Bu size yardımcı olabilir: http://jungels.net/articles/ffmpeg-howto.html – malletjo

0

HLS Wowza veya AHBS gibi bir şey (ikisi de ucuza) kullanıyor akışı için en kolay yolu. Wowza (Canlı akışı veya depolanan VOD içeriği ya girdi almak ve anında segmentasyon yapacağız.

+0

Wowza – onmyway133

12

birkaç rakip teknolojiler vardır, ama bugün ne olursa olsun dosyaları Apple cihazlar (iPhone'lar, iPad'ler üzerinde Akış için uyumlu olmasını istiyorsanız, vb) sonra HLS gitmek için bir yoldur.Kesinlikle aynı zamanda çoğu tarayıcılar ve Android tarafından da desteklenmektedir bu yüzden başlamak için kötü bir yer değil.Ama rağmen rağmen canlı içeriğin akışı için uygun değildir.Adım rağmen

Video, gerçekten böyle red5 veya Wowza veya fms veya bir şeye ihtiyacın YAPMAYIN. HLS temelde kısa video segmentleri bir dizi Eğer flaş veya HTML5 tabanlı oyuncuya vermek (örneğin 5 dakika her) farklı bit hızlarında kodlanmış ve bir m3u çalma listesi tarayıcıda. Segmente karar vermek size kalmış nt uzunluğu veya nasıl kodladığınız. orada itibaren http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx

sadece örnek bir dizin yapısı oluşturmak, örneğin için:

Bu

Ben çözünürlükleri, bit hızlarını, bölüm boyutlarını, vb almak konusunda en iyi makale gördüm edilir

 
/data/video/video_id/original.mp4 
/data/video/video_id/quality1/chunk1.mp4 
/data/video/video_id/quality1/chunk2.mp4 
/data/video/video_id/quality2/chunk1.mp4 
etc.. 

Sonra tüm parçalar ve kaliteleri için bir m3u çalma listesi oluşturmak gerekiyor ve bu nitelikleri ve (en modern oyuncular zaten var) sonraki dosyasını oynatmaya arasındaki değişiminin uygulanması için yukarı oyuncuya kendisine bu. Ayrıca çok kontrol tavsiye

: https://developer.apple.com/resources/http-streaming/ - Elma HTTP Canlı Akış için videoları ve oynatma listelerini hazırlamak için ücretsiz araçlar bir demet sunmak.

+0

Roman (Alanında Adaptif Akış - Jan Özer'in) mükemmel bir bağlantı teşekkür ederiz çalışıyor worths, ücretsiz deneme vardır http: //www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx –

İlgili konular