Przesyłaj strumieniowo wideo z serwera Ubuntu na urządzenie z Androidem
15
Mam bezgłowy serwer Ubuntu 12.04. Mam dużo filmów na serwerze. Większość jest w x264 w .mkv. Mam telefon Samsung Nexus i tablet Nexus 7.
Jakie są moje opcje, jeśli chodzi o przesyłanie strumieniowe z serwera Ubuntu na Androida? Mam kogoś uruchomionego. Niektórzy moi przyjaciele mówili o DLNA, „serwer mediów Playstation” może być rozwiązaniem?
Na urządzeniu z Androidem będziesz musiał zainstalować klienta DLNA, aby mieć dostęp do udziałów multimedialnych, które masz na serwerze.
Na swoim serwerze będziesz musiał uruchomić serwer DLNA / UPnP, który udostępnia udziały. Twoje ustawienia sieciowe muszą zezwalać na UPnP i Multicast (sprawdź na routerze).
Istnieje kilka rozwiązań dla serwera UPnP do wyboru. Dzięki MiniDLNA , lekkiemu, ale potężnemu serwerowi DLNA jesteśmy w stanie przesyłać strumieniowo zawartość MKV i x264. Ta aplikacja jest moją rekomendacją do uruchamiania na bezgłowym serwerze.
Warto zauważyć, że nie każda wersja Androida obsługuje wszystkie formaty multimediów. Podczas gdy nowsze urządzenia z wersją 4.0+ obsługują najpopularniejsze formaty, starsze wersje i procesory z ograniczonymi zestawami funkcji mogą mieć problemy tu i tam. Oprócz tego producenci urządzeń mogą nadal zepsuć obsługę formatu domyślnego platformy. Oczywiście Android oferuje odtwarzacze, które dekodują oprogramowanie, ale jest to głównie obejście i kosztuje żywotność baterii. developer.android.com/guide/appendix/media-formats.html
Najprostszym możliwym rozwiązaniem jest HTTP w połączeniu z odtwarzaczem wideo na Androida, który może przesyłać strumieniowo HTTP, takie jak VLC, MxPlayer itp. - wystarczy użyć dowolnego z wielu dostępnych serwerów HTTP.
Oto kilka linijek.
Python 2.x
$ python -m SimpleHTTPServer 8000
Python 3.x
$ python -m http.server 8000
Twisted (Python)
Najpierw zainstaluj skręcony pakiet, jeśli jeszcze go nie ma w pip install -U twisted( pip3 install -U twisted), a następnie:
$ twistd -n web -p 8000 --path .
Po uruchomieniu serwera internetowego otwórz przeglądarkę na urządzeniu z Androidem i wpisz adres IP oraz port swojego systemu Ubuntu, np. Http://192.168.1.123:8000
Możesz użyć ifconfigw Ubuntu, aby zobaczyć adres IP.
Ten człowiek zasługuje na medal (lub może być nagrodą). Odpowiedź jest epicka prosta
Tessaracter
zadziałała bardzo prosta technika! ale nie można przesyłać dalej filmów
Abhishek Kamal
@AbhishekKamal: SimpleHTTPServernie obsługuje rangeżądań. Jeśli potrzebujesz pomocy dotyczącej filmów, możesz użyć github.com/danvk/RangeHTTPServer lub innych, bardziej zaawansowanych serwerów.
ccpizza
Po próbie python -m SimpleHTTPServer 8000okazało się, że nie mogę szukać filmów, więc przestałem python -m SimpleHTTPServer 8000i użyłem innej sztuczki. Sztuczka polega na tym, że ... ilekroć chcę przesyłać strumieniowo filmy z laptopa na Androida, używam smplayer ( odtwarzacz wideo, najnowsza wersja 19.1.0 ) w laptopie zapewnia kod kreskowy, a następnie skanuję ten kod kreskowy z telefonu i szukam filmów. I odkryłem, że ta metoda działa szybciej niż poprzednio.
Abhishek Kamal
2
W przypadku przesyłania strumieniowego multimediów przy użyciu specyfikacji serwera multimediów UPnP przyjrzałbym się:
Mediatomb - działa w tle obsługującym media, ma interfejs WWW, którego można użyć do zbudowania biblioteki.
Kodi - zwykle używany jako klient, ale możesz włączyć obsługę multimediów w ramach opcji sieci w nim zawartych.
Oba można znaleźć w Centrum oprogramowania .
Jeśli chodzi o klientów Androida, istnieją porty zarówno VLC, jak i Kodi .
Na twoim serwerze :
sudo apt-get install minidlna
/etc/minidlna.conf
Na Androidzie podziel się :
źródło
Podawanie przez zwykły HTTP
Najprostszym możliwym rozwiązaniem jest HTTP w połączeniu z odtwarzaczem wideo na Androida, który może przesyłać strumieniowo HTTP, takie jak VLC, MxPlayer itp. - wystarczy użyć dowolnego z wielu dostępnych serwerów HTTP.
Oto kilka linijek.
Python 2.x
Python 3.x
Twisted (Python)
Najpierw zainstaluj skręcony pakiet, jeśli jeszcze go nie ma w
pip install -U twisted
(pip3 install -U twisted
), a następnie:Po uruchomieniu serwera internetowego otwórz przeglądarkę na urządzeniu z Androidem i wpisz adres IP oraz port swojego systemu Ubuntu, np. Http://192.168.1.123:8000
Możesz użyć
ifconfig
w Ubuntu, aby zobaczyć adres IP.Bardziej rozszerzona lista serwerów oneliner HTTP: https://gist.github.com/willurd/5720255
źródło
SimpleHTTPServer
nie obsługujerange
żądań. Jeśli potrzebujesz pomocy dotyczącej filmów, możesz użyć github.com/danvk/RangeHTTPServer lub innych, bardziej zaawansowanych serwerów.python -m SimpleHTTPServer 8000
okazało się, że nie mogę szukać filmów, więc przestałempython -m SimpleHTTPServer 8000
i użyłem innej sztuczki. Sztuczka polega na tym, że ... ilekroć chcę przesyłać strumieniowo filmy z laptopa na Androida, używam smplayer ( odtwarzacz wideo, najnowsza wersja 19.1.0 ) w laptopie zapewnia kod kreskowy, a następnie skanuję ten kod kreskowy z telefonu i szukam filmów. I odkryłem, że ta metoda działa szybciej niż poprzednio.W przypadku przesyłania strumieniowego multimediów przy użyciu specyfikacji serwera multimediów UPnP przyjrzałbym się:
Mediatomb - działa w tle obsługującym media, ma interfejs WWW, którego można użyć do zbudowania biblioteki.
Kodi - zwykle używany jako klient, ale możesz włączyć obsługę multimediów w ramach opcji sieci w nim zawartych.
Oba można znaleźć w Centrum oprogramowania .
Jeśli chodzi o klientów Androida, istnieją porty zarówno VLC, jak i Kodi .
źródło