Seite 1 von 1
vlc bleibt kurzfristig stehen
Verfasst: Sonntag 6. Dezember 2015, 22:49
von TommiB
Hallo Leute,
ich habe jetzt endlich hinbekommen, daß der nginx Streamserver auf diesen Rechner läuft.
Mittels OBS streame ich von einem zweiten Rechner auf den Streamserver.
Dieses kann ich mittels eines HTML-Statistik-Protokolls und einen HTML-Flash-Players auch sehen.
Dieses Script soll den Stream anzeigen.
Code: Alles auswählen
import os, sys, vlc, pygame
from time import sleep
from pygame.locals import *
wx=100
wy=100
wb=708
wh=454
os.environ["SDL_VIDEO_WINDOW_POS"] ="%d,%d" % (wx,wy)
pygame.init()
screen = pygame.display.set_mode((wb,wh),pygame.NOFRAME)
vlcInstance = vlc.Instance()
media = vlcInstance.media_new('rtmp://127.0.0.1/live/atv')
player = vlcInstance.media_player_new()
win_id = pygame.display.get_wm_info()['window']
player.set_hwnd(win_id)
player.set_media(media)
pygame.mixer.quit()
run=1
player.play()
while run==1:
for event in pygame.event.get():
if event.type==KEYDOWN:
player.stop()
pygame.quit()
run=0
sleep(0.5)
print(player.video_get_size())
Nun bleibt der mein simple Player unvermittelt stehen und spielt wieder kurz an... usw....
Im HTML-Flash-Player sehe ich jedoch, dass der Stream flüssig läuft.
Hat jemand von Euch eine Idee woran das liegen könnte?
Gruß Tommi
Re: vlc bleibt kurzfristig stehen
Verfasst: Montag 7. Dezember 2015, 12:44
von Dav1d
Beim Anlegen der Intanz kannst du Commandline-Optionen mitgeben, versuch mal die Cache-Größe zu erhöhen.
Ich bin mir nicht sicher welchen Parameter du genau brauchst. Googlen oder einfach ausprobieren
Code: Alles auswählen
╰─$ vlc --longhelp --advanced -H | grep cach
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
--sout-rtp-caching <integer [-2147483648 .. 2147483647]>
Default caching value for outbound RTP streams. This value should be
high values, you will need to raise caching values.
caching at input.
how Windows Media Player will cache streamed content. Set to
--sout-udp-caching <integer [-2147483648 .. 2147483647]>
Default caching value for outbound UDP streams. This value should be
--sout-livehttp-caching, --no-sout-livehttp-caching
Allow cache (default disabled)
--file-caching <integer [0 .. 60000]>
File caching (ms)
--live-caching <integer [0 .. 60000]>
Live capture caching (ms)
--disc-caching <integer [0 .. 60000]>
Disc caching (ms)
--network-caching <integer [0 .. 60000]>
Network caching (ms)
--sout-mux-caching <integer [-2147483648 .. 2147483647]>
Stream output muxer caching (ms)
This allow you to configure the initial caching amount for stream
Re: vlc bleibt kurzfristig stehen
Verfasst: Montag 7. Dezember 2015, 19:28
von TommiB
Hallo Dav1d,
danke für die Antwort.
Ich glaube es liegt hier am Python. Hatte 3.5 installiert...
Das könnte sein, daß das vlc damit nicht flüssig läuft. Bin mir gar nicht sicher ob das vlc Py3.5 unterstützt.....
Es bleibt das Python-Script auch kurzzeitig stehen, lasse parallel mir den state von vlc ausgeben..
Da passiert derweil auch nichts mehr....
Hmm.. Da muss ich mal überlegen, ob ich mir eine früher Version installiere und damit weiter probiere.
Alles ein wenig selbstgemachtes Leid - glaube ich....
Gruß Tommi
Re: vlc bleibt kurzfristig stehen
Verfasst: Montag 7. Dezember 2015, 19:34
von Dav1d
Python-Version sollte keinen unterschied machen, wenn das Binding mit Python 3 läuft ist alles gut. Wenn du durch die vlc.py schaust, siehst du dass alles nur Ctypes Code für libVLC ist.
Bleibt das Skript stehen oder nur der state vom VLC ändert sich kurzzeitig nicht?
Re: vlc bleibt kurzfristig stehen
Verfasst: Montag 7. Dezember 2015, 20:23
von TommiB
Ich berichtige mich....
Es bleibt nur der Stream stehen... da immer der gleiche state ausgegeben wird, konnte ich das nach mehreren Minuten nicht mehr erkennen.
Der Stream steht zum Teil 10 - 20 Sekunden....
Habe den Path mal direkt im VLC Player eingegeben....
Ist das gleiche.... Da bleibt der Stream auch stehen...
Im
Re: vlc bleibt kurzfristig stehen
Verfasst: Montag 7. Dezember 2015, 21:08
von TommiB
Es könnte natürlich auch sein, dass VLC nicht mit dem Codec von OBS klar kommt.
Dass es daher kommt.
Ich teste morgen weiter...
Erst mal danke Dav1d für die Antworten.
Gruß Tommi
Re: vlc bleibt kurzfristig stehen
Verfasst: Dienstag 8. Dezember 2015, 00:21
von Dav1d
Eventuell an den VLC IRC-Channel bzw. das Forum wenden. Es ist zwar nicht viel los, aber die Leute die da sind kennen sich aus und helfen gerne.
Re: vlc bleibt kurzfristig stehen
Verfasst: Dienstag 8. Dezember 2015, 08:47
von TommiB
Ja, ich habe heute morgen schon eine Menge im Forum von VLC gelesen.
Da haben Viele Probleme mit RTMP Streams.
Ich muss mir wohl oder übel was anderes ausdenken, um einen RTMP Stream darstellen zu lassen.
Gruß Tommi
Re: vlc bleibt kurzfristig stehen
Verfasst: Dienstag 8. Dezember 2015, 14:16
von Dav1d
Eventuell
libmpv? Dazu musst du eventuell die C-Bindings machen, ich habe nur
python-mpv gefunden. Allerdings ist das mit
CFFI nicht so viel Aufwand.
Du kannst dann entweder das Fenster einbetten, wie VLC das macht, oder
opengl-cb nutzen um das Ganze auf einem OpenGL context abzubilden.