Strumieniowe przesyłanie Apache2 przez HTTP

0

Mam serwer z dużą ilością plików multimedialnych. Właściwie mam apache2 zainstalowany na serwerze i używam go do przesyłania strumieniowego plików wideo i audio.

Działa to dobrze, z kodem statusu 206 Content-Partial. Ale mam problem z wideo lub dźwiękiem z HTML5 lub wtyczką do przeglądarki, która, jak sądzę, pochodzi z zawartości kodu stanu 206 i tego, jak działa.

Wiele razy chcę bezpośrednio odtworzyć mój film w ciągu godziny lub po prostu słuchać 5 minut w 30 minut dużego pliku audio. Problem jest zawsze taki sam, muszę poczekać, aż wszystko do momentu pobrania.

Chcę zrobić „płynne przesyłanie strumieniowe” dla wszystkich plików mediów, używając HTML5 lub wtyczek do przeglądarki. Dzięki „płynnemu strumieniowaniu” słyszę, że mogłem odtwarzać dowolną część multimediów bez konieczności wcześniejszego pobierania wszystkiego.

Dużo czytałem o streamingu za pomocą apache2, ale nie znalazłem ogólnego rozwiązania tego samego problemu.

Czy mogę to zrobić tylko z apache2? Czy powinienem sam użyć innego oprogramowania lub napisać kilka skryptów?

vekah
źródło

Odpowiedzi:

0

Zgaduję, że są to pliki MP4. Pliki muszą mieć pole moov na początku pliku (nie będę tu wchodził w bardziej szczegółowe informacje, ponieważ został on obszernie omówiony przy przepełnieniu stosu. Wystarczy go wyszukać). Można to zrobić za pomocą narzędzia takiego jak qt-faststart z ffmpeg.

szatmary
źródło
Czasami jest to mpeg, czasem ogg, czasem avi itp.
vekah
Te formaty nie są obsługiwane przez HTML5.
szatmary,
Przeczytaj mój post, mam kilka wtyczek do mojej przeglądarki. Mogę grać w avi i ogg z firefoxem na moim linuksie ... Nie chodzi tylko o HTML5 ... Chodzi
przede wszystkim
1
Cóż, to całkowicie zależy od wtyczki. Ponieważ każda wtyczka jest inna, a każdy format jest inny. „Smooth Streaming” to standard Microsoft, który używa rozdrobnionego kontenera mp4 z klientem silverlight. Płynne przesyłanie strumieniowe nie jest już obsługiwane przez Microsoft i zastępowane przez DASH. Przeczytałem twoje pytanie. Nie ma czegoś takiego jak „płynne przesyłanie strumieniowe” dla wszystkich plików mediów, chyba że transkodujesz / transmux w locie. I zaleciłbym konwersję tylko raz zamiast każdego odtwarzania, jeśli utkniesz z Apache.
szatmary
Okej, nie znałem dokładnego znaczenia płynnego przesyłania strumieniowego. Myślę, że mogę to zrobić za pomocą skryptu php. Spróbuję. Ponieważ moje wtyczki Mozilla potrafią poradzić sobie z czasem przełączania w mediach z innymi serwerami. Dlatego jestem pewien, że powinienem ulepszyć serwer, a nie wtyczki. Dziękuję
vekah