Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Categories:

UDP streaming HOWTO

Идея такая: если видео по вайфаю играется и полосы хватает, но периодически какая-то жопа, можно попробовать UDP-стриминг вместо HTTP или, не дай бог, файлошарового протокола (по неизвестным мне причинам, все файлошаровые протоколы работают из рук вон плохо при аномалиях в канале). UDP устойчив к head of line blocking по определению, т.е. при аномалиях на приёмной стороне просто будут проскакивать квадратики.

У нас будет пиздатый стриминг: никаких вонючих говнопротоколов проприетарных, никакой вонючей перекодировки, никакого вонючего TCP, никакого говнософта: только VLC или cvlc на файлосервере, VLC на ноуте,  RFC2326 RTSP+ RFC3550 RTP. Будем перестримливать c HTTP в RTP/UDP cтрим c ётуба с танцем маленьких лебедей.

На сервере пускаем (под нерутом, разумеется). Можно то же самое гуем, если хочется.

cvlc -vvv --sout "#rtp{sdp=rtsp://:8554/}" "https://www.youtube.com/watch?feature=player_embedded&v=C2JWhiUVBYc"

8554 на случай говнолинукса на сервере - означает, что дефолтовый порт 554 мы не хотим использовать, т.к. порты ниже 1024 требуют рута

На клиенте пускаем vlc rtsp://192.168.0.9/

Всё.

Если лебеди заработают (там стрим ~300 кбит всего), можно пробовать что-то другое, файлики тоже можно указывать, разумеется. Если желаемое кино, не шедшее по файлошаре, пойдёт по RTSP - значит, апгрейд вайфай-роутера и сопровождающая его победа над жабой откладываются, можно поискать решения для цивилизованного стриминга, чтобы не лазить коммандлайном, с работающей перемоткой и т.п. А может, есть и решения, позволяющие не тащить за собой целый cvlc.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 9 comments