Fast LAN Video/Audio stream

0

Nie sugeruj się, baza ma 2 sekundowy odstęp od reszty.

Rozwiązanie wczorajszej zagadki. Najpierw piętnaście razy zapytam na wszelkie sposoby czego dotyczył problem – może komuś będzie łatwiej trafić przy szukaniu realizacji podobnego pomysłu ;-).

Zewnętrzny dźwięk. Zewnętrzny obraz. Bezprzewodowy przesył obrazu. Bezprzewodowe udostępnienie dźwięku. Zewnętrzne głośniki. Film jednocześnie na paru komputerach, odtwarzaczach. Udostępnianie filmu. Udostępnianie dźwięku. Wireless sound / video stream. Wifi sound broadcast. Fast LAN stream. Czy choćby moje zapytanie do google:

(wifi OR wireless OR bluetooth OR lan OR internet) (sound OR audio OR ffdshow OR MPC-HC) (share OR stream OR cast OR broadcast OR shoutcast)

Na więcej nie mam pomysłu.

A przecież puszczanie jednocześnie tego samego filmu na dwóch komputerach jest zbyt lamerskie!

Koncepcja

Jak można wyczytać ze wcześniejszego postu zależało mi jakoś na „wspomożeniu” laptopa przy odtwarzaniu dźwięku z filmu dodając do tego wszystkiego moc subwoofera podpiętego do komputera w pokoju. Rozwiązanie jest również dobre do oglądania jednego filmu z kilku komputerów na raz: to na wypadek, jakby 10 osób przed małym, 17 calowym ekranem nie mieściło się. Oczywiście możemy się też bawić w wszelakie radia internetowe czy domowe, ale do tego chyba lepiej służy shoutcast.

Jak NIE chciałem tego zrobić:

  • Na pewno nie będę włączał tego samego filmu osobno na dwóch komputerach. Nie łatwo (prawie)idealnie zsynchronizować odtwarzanie, a i pomysł nie jest odporny na przerwy na siusiu.
  • Próba przesyłania dźwięku przez BlueTooth: Nawet nie próbowałem, szybkość transferu na moim małym odbiorniku BT 1.2 w ogóle nie poradziłaby sobie. Do tego zasyfianie systemu przez wszelakie sterowniki… Olać!
  • Bawić się w podłączenia kabelkowe? Jasne, że nie!
  • Jak i nie miałbym zamiaru kupować cokolwiek: transmitery, serwery multimedialne…

Pomysły:

Zasugerowano mi:

  • Kupno transmitera FM – nie ma mowy.
  • Kupno „Air Port Express” – no wai!
  • ShoutCast – i za to Twisterowi dziękuje, że jakoś pchnęło mnie na pomysły.

Jak próbowałem to zrobić:

ShoutCast, coś a’la radia internetowego

Każdy chyba ma świadomość, że mija trochę czasu zanim nasz odbiornik odbierze jakiś sygnał z zewnątrz. Tak jest z telewizją, radiem… Chociaż miałem nadzieje, że po LAN’ie to będzie zapierdzielać aż miło ;-). Niestety. Typowa radiowa sytuacja: odstęp dźwięku w granicach około 2 sekund. Mimo wszelkich prób „przyśpieszenia” przesyłu tego dźwięku… nic nie dało rady. ShoutCast niech jednak zostanie narzędziem do radyjek internetowych.

Rozwiązanie miało również w sobie ten minus, że nie mogłem doszukać się żadnego DSFiltru do streamowania prosto z MPC-HC. Winamp zbytnio nie odpowiada mi w roli odtwarzacza wideo. Niestety plugin do niego nijak nie chciał współpracować z FFDShow – crash. Stety, niestety.

Grzebałem się jeszcze z innymi castami. Szkoda czas tracić do opisywania tego: a sam chciałbym jeszcze dzisiaj iść spać.

„Rozwiązanie zagadki, posłuchaj…”

Wpadłem na pomysł użycia VLC VideoLAN Player’a. Ludzie dość zachwalają go, a i jest dość często używany. Jakoś nigdy nie miałem podejścia do niego, bo zawsze trzymałem się MPC. Chociaż czytając wiki tego projektu nieziemsko się zachwyciłem, ile to on nie obsługuje ;-) I to wieloplatformowo!

VLC ma tą fajną możliwość, że może streamować pliki jak i dobrze je sam odtwarza – w sumie chyba takie było założenie przy tym programie? Czyż nie? Wyczytując trochę o protokołach, kilku próbach i błędach doszedłem do miłego rozwiązania.

Ale jeszcze zanim

Udało mi się w końcu streamować jakiś film. Już nie czepiam się tego, że będę musiał się w takich przypadkach przyzwyczaić do innych napisów, ale to już nieważne na tą chwilę. Udało mi się też odtworzyć ten film na stacjonarce. Kurczę, mimo że fajnie leci i żadnych przeszkód nie ma, nawet żadnej kompresji, to mimo wszystko były te dwie sekundy różnicy.

Pomysł małej świecącej lampki

Skoro już laptop streamuje, komputer odbiera to po dwóch sekundach… to co się stanie, jak otworzę drugim playerem na laptopie ów stream? Tadaaaammm… ;-)

Rozwiązanie bez zbędnego pieprzenia

Laptop: adres 192.168.2.101. VLC 1.1.5 (aktualny na dzisiaj). Komputery w sieci domowej. Przesył między nimi spokojnie na poziomie 8-20MBit.

  1. Komputer baza: Włączamy VLC. Plik -> Strumieniuj. Dodajemy plik. Klikamy Strumieniuj
  2. W następnym oknie klikamy Następny albo na dole: Cele
  3. W celach zaznaczamy „Wyświetl lokalnie”, wybieramy RTSP, klikamy dodaj. Odznaczamy transkodowanie (no chyba, że chcesz – możliwe, że stracisz obraz albo dźwięk przez to lokalnie)
  4. W nowo powstałej zakładce RTSP w ścieżce wpisz
    Port: Taki, abyś zapamiętał, lub zostaw domyślny.
    Ścieżka: Na przykład: /x.sdp (bez rozszerzenia na końcu mi nie działało!)
  5. Klikamy strumieniuj.
  6. Film już się „odtwarza w sieci”.
  7. Włącz swój wzmacniacz: w tym przypadku mój stacjonarny komputer. VCL -> Plik -> Otwórz strumień sieci
  8. Wpisujesz tam przykładowo:
    rtsp://192.168.2.101:5544/x.sdp
  9. Klikasz odtwarzaj ;-)
  10. Powtarzasz ostatnie 3 kroki na urządzeniu, na którym chcesz oglądać film: w moim przypadku TEŻ na komputerze bazie, w nowym oknie odtwarzacza.
  11. Dźwięku z odtwarzacza, który streamuje wyciszasz. Sam odtwarzacz możesz zminimalizować, oglądać na tym, który odbiera.
  12. Have fun!

Rozwiązanie nie jest idealne:

  • Mimo wszystko można usłyszeć trochę dźwięk jak po efekcie Chorusa – ważne, aby ping między komputerami nie był za duży: w moim przypadku jest to około max 3ms. Mimo wszystko można przyjemnie oglądać.
  • Druga rzecz: wzrasta zużycie procesora. Dość „płynne” łącze jest również potrzebne. Sposób ten nie był testowany przez internet, ale na synchro w takim przypadku raczej nie licz…
  • I jeśli jesteś przyzwyczajony do MPC, to czas na takie wypadki chyba zmienić nawyki. Sam spróbuje jeszcze to wszystko odtwarzać przez FFDShow.. ze względu na te głupie napisy.
  • No i coś.. o czym największy wstyd mówić: Brak napisów na odtwarzaczach streamu… Arggg… ale myślę, że i to jakoś obejdę. (pisząc kropkę wyżej nie byłem jeszcze tego świadomy)

I jak rozwiązanie ;-) ?

Tagi: , , , , , , , , , ,

Skomentuj