VLC und VDR - welches device kann frau anzapfen?

  • Hintergrund dieser Aktion: meine freundin ist designerin - und diesen leuten faulen (i.d.r.) die fingerkuppen ab wenn sie einen pc bedienen, sprich sie arbeitet ausschließlich an einem mäky.


    Und abends wenn die wirklich wichtigen sendungen kommen wie marienhof, berlin berlin - ja dann hätte sie gerne ein kleines fenster das sie zwischen die diversen werkzeugleisten der diversen adobe-proggis legen kann.


    Ich hatte grossspurig verkündet das das kein problem sei mit dem vdr .......


    Das neue MacOSX basiert ja auf bsd und so dacht ich das es wohl kein problem geben würde. mplayer geholt, kompiliert und installiert aber schock: streaming iss nicht, zu schlapp - entweder die kiste oder der mplayer ...... alle bilder ruckeln jedenfalls mächtig vor sich hin.


    Mich umgeschaut und das projekt videolan entdeckt. vlc installiert auf nem pc, vlc installiert auf dem mäki, auf dem pc einen streming-server eingerichtet, der seinerseits auf den vdr-streaming server zugreift,
    klappt ganz ganz winderbar, streame ich dem mäci eine gesamtbitrate von ca. 1MBit zu läuft der ganz super:


    C:\Programme\VideoLAN\VLC\vlc.exe http://192.168.3.201:3000/1 --sout "#transcode{vcodec=WMV1,vb=384,scale=1,acodec=mp3,ab=128,channels=2}:duplicate{dst=std{access=http,mux=asf,url=192.168.3.229:1234}}"


    Ganz nebenbei kann dieser stream auch noch von schwachbrüstigen pc-ruinen empfangen werden, die die installation von wmplayer 9 überlebt haben - sensationelle software dieses vlc !!!!!!


    Also die sache musste nun auf der vdr maschine selbst installiert werden, apt-get und so weiter schieben mir die soft auf die platte, erste versuche verlaufen durchaus vielversprechend:


    Der aufruf von:


    vlc -vvv http://192.168.3.201:3000/6 --sout '#transcode{vcodec=WMV1,vb=128,scale=1,acodec=mpga,ab=128,channels=2}:duplicate{dst=std{access=http,mux=asf,url=192.168.3.201:1234}}'


    brachte direkt auch ein bild, haken an der sache: audio codec mp3 klappt nicht mehr und muss geändert werden auf mpga, womit der wmplayer in puncto audio wieder streikt, aber ziel ist ja der mäki - und dort läuft der VLC client - und der empfängt den stream ohne mullen und knullen.....



    So langer rede kurzer sinn: ich bin jetzt beim problem - und das liegt mal wieder da wo ich gar nicht damit gerechnet habe.


    Ich will mir natürlich auf der vdr maschine keinen stream als quelle haben, sondern das video device selber - iss doch klar oder???


    Also praktisch den gleichen output anzapfen den der fbtv nutzt. Meine liebste kann dann mit dem vdradmin das programm einschalten und sieht auf dem VLC client immer das angewählte programm.


    Erste versuche mit


    vlc -vvv /dev/video0 --sout '#transcode ....


    scheitern kläglich und ich fange an diverse foren rauf unf runter zu lesen. Lese was von v4l - und versuche es mal mit diesem:


    vlc -vvv v4l:/dev/video0:norm=pal:channel=0:size=720x576 --sout '#duplicate{dst=std{access=http,mux=ts,url=192.168.3.201:1234}}'


    VLC wirft folgenden LOG aus


    .......
    [00000177] v4l input debug: WxH 720x576
    [00000177] v4l input debug: main device=`/dev/video0'
    [00000177] v4l input debug: V4L device DVB Board 1 channels 2 audios 32 < w < 768 32 < h < 576
    [00000177] v4l input debug: setting channel DVB(0) 1 tuners flags=0x3 type=0x1 norm=0x1
    [00000177] v4l input debug: v4l device uses frame size: 622080
    [00000177] v4l input debug: v4l device uses chroma: I420
    [00000177] v4l input warning: I420 refused
    [00000177] v4l input error: chroma selection failed


    Problem 1: Es kann keine Chroma Selektion durchgeführt werden, der Versuch diesen Parameter manuell zu setzen (chroma=RGB oder YUV) zeigt keine Wirkung....



    [00000177] v4l input error: cannot open audio device (Das Gerät oder die Ressource ist belegt)
    [00000177] v4l input error: cannot open device (Datei oder Verzeichnis nicht gefunden)


    Problem2: VLC kann kein audio device öffnen, diese ist busy, VLC greift von sich aus dann auf /dev/dsp zu, das ist nett aber da ist bestimmt kein ton von der dvb-karte drinnen ......


    [00000177] v4l input debug: openened adev=`/dev/dsp' stereo 44100Hz
    [00000177] v4l input: v4l grabbing started
    [00000053] main module debug: using access module "v4l"
    [00000177] main input debug: looking for demux module
    [00000177] main input debug: probing 18 candidates
    [00000177] mp4 input warning: MP4 plugin discarded (not a valid file)
    [00000177] avi input warning: avi module discarded (invalid header)
    [00000177] v4l input debug: new audio es 2 channels 44100Hz
    [00000054] main module debug: using demux module "v4l"
    [00000177] main input debug: selecting ES 0x1
    [00000187] main packetizer debug: looking for packetizer module
    [00000187] main packetizer debug: probing 18 candidates
    [00000139] main module debug: using packetizer module "packetizer_copy"
    [00000187] main packetizer debug: thread 6151 (decoder) created at priority 0 (src/input/input_dec.c:166)
    [00000179] main stream output debug: adding a new input
    [00000185] main private debug: adding a new input
    [00000185] mux_ts_dvbpsi private debug: adding input codec=s16l pid=68
    [00000185] main private error: cannot add this stream
    [00000187] main packetizer error: cannot create packetizer output
    ..........


    Problem 3: Der Packetizer scheitert aus irgeneineinem grund - ist da nix drin in /dev/video0 ??????


    Fakt ist jedenfalls das beim client nix mehr ankommt - kein bild kein ton (ich komme schon....)


    Könnte mir vielleicht jemand in groben zuegen die zusammenhänge mit dem v4l treiber erläutern (oder link).


    Wie z.B macht das der fbtv, der zapft doch auch quasi den output der dvb-karte an (das funzt bei mir einwandfrei).


    Dann habe ich da bei mir noch so allerhand devices gefunden unter /dev/dvb/adpter0/xxxxx. Alles mal durchprobiert - kein erfolg (sind immer alle busy-saugt wohl der vdr dran).

    Wofür sind diese Teile gut - kann man die nutzen????


    Wenn ichs hinbekomme versprech ich die erstellung eines weiteren kleinen mini howtos.


    Danke an alle die bis hierhin gelesen haben



    klaus

  • Also, gleich die Warnung vorweg: Alles was ich hier gleich schreibe ist nur geraten, tatsächlich ausprobiert habe ich das nicht.


    Den Video-Output von einer FF-Karte (wie der Nexus) kannst du von /dev/dvb/adapterX/video0 grabben. Was dort herauskommt ist v4l bzw. v4l2-kompatibel. Den MPeg2-Strom (also nicht decodiert) bekommt man aus /dev/dvb/adapetrX/dvr0, das gilt hauptsächlich für die Budget-Karten aber auch für FF.


    Soweit kein Problem: Wenn die Karte getunt ist, liefert sie den Strom an die jew. Devices, den kannst du einfach dort abgreifen.


    Problem: Die Dinger sind immer busy, weil VDR draufhockt.


    Wahrscheinliche Lösung: Schreib ein Plugin für VDR, das das ganze in eine Named-Pipe oder ein Device spiegelt, quasi einen mirror für das Device. Ich will nicht ausschließen, dass es so etwas schon gibt.

    Godzilla [Low Budget Record-Only]: AMD K6/2(400), Gigabyte GA-5AX, 192MB, ATI RagePro (Mach64GT) mit TV-Out, Technisat Skystar2 rev 2.6b, IBM DTLA 40GB, Ensoniq ESS-Solo1 (es1935), Pioneer DVR 108

  • hallo metahawk,


    da bin ich ja ganz baff, weil ich schon alle hoffnung hatte fahren lassen das jemals jemand hier antwortet.........


    In der Tat hatte ich auch schon versucht das device unter /dev/dvb/adapterX/video0 anzuzapfen, aber das ist ja (wie du auch schreibst) busy.....


    Leider reichen meine linux kentnisse nicht aus so ein plugin zu schreiben, (wdoof-coder) aber vielleicht wird ja so ein teil irgendwann mal entwickelt. Wäre doch sehr praktisch, da man ja kleingerechnete streams durchs netz jagen könnte.....


    Vielen Dank jedenfalls für deine antwort



    klaus

  • Hallo,


    vielleicht solltest Du's nochmal in der ML probiern, fuer mich als Linux-Vollamateur klingt das ja beinahe so, als ob mit ein paar zeilen Code das Device "gespiegelt" werden kann...


    Ist zwar sicher nicht so einfach, wie ich mir das vorstelle, aber wer weiss...


    Hannes


    robbitobbi://Scenic xB @ 866MHz/~Nexus2.1 - Budget TT 1.0 (Empfangs-VDR)
    fliewatueuet://ScenicxB @ 800MHz/~i810fb-xinelibout (Client)

  • Hi,


    jaja die Frauen :rolleyes: ;D


    Als leidensgenose will ich dir versuchen zuhelfen:


    Ich hab bei mir auf meinem VDR ffmpeg installiert.
    Bei dem ffmpeg ist auch der ffserver dabe,i mit dem du Streamen kannst.


    Korrektur ( danke an Konni__)


    Als erstes mußt du ffserver aufrufen:


    ffserver -f ffserver_low_ns.conf


    Danach den ffmpegr:


    ffmpeg -vd /dev/video0 -an http://localhost:554/feed1.ffm


    die Option -an gibt an, das kein Ton verwendet wird. ( Hab leider noch kein Ton raus bekommen :( , der Ton muß irgend wie über die Soundcarte des Rechner geschliffen werden. Und beinem VDR hab ich die Soundkarte noch nicht zum laufen gebracht. ;( )




    meine ffserver_low_ns.conf ist ein bischen durcheinander:


    Ab Zeile 280 bis 293 ist meine Configuration für Arbeitplatz-Stream (mann will ja auch auf Arbeit die EM seen :D )


    <Stream stream.asf> # Name deines Streams für dein http aufruf
    Feed feed1.ffm
    Format asf
    VideoFrameRate 15 # gibt halt die Bilder in der Sekunde an
    #VideoSize 80x64
    VideoSize 176x128 # Größe des Bildes
    #VideoSize 352x240
    VideoBitRate 100
    VideoGopSize 30 # ??
    #VideoBitRate 64
    #VideoGopSize 30
    NoAudio # leider habe ich bis jetzt noch kein Ton raus bekommen
    StartSendOnKey
    </Stream>


    Und per http://IPdeinesVDRs:554/stream.asf


    Ich hoffe ich konnte dir einbischen weiter helfen.
    Achso ich benutze die Fernbedienung des VDRAdmin um durch die Kanäle durch zuschalten.
    Noch eins alle paar sekunden kommt ein Grünes Frame nicht wundern, weis leider nicht woher das kommt.
    Nur Noch eins der Stream ist Zeitversätzt, also wenn du mit deiner VDRAdmin-Fernbedienung umschaltest dauert das manchmal bis zu 10 Sekunden.



    Viel Glück und versprich deiner Frau nicht zuviel, hab auch schon paar Versprechen bereut ;D


    Litwas

  • hi litwas,


    vielen dank! na ob aber berlin, berlin ohne ton taucht??


    aber ich werd das nachher direkt checken, kannte diese art des streamings gar nicht, vlc nutzt aber auch ffmpeg.


    Aber was ich da hoch interessant dran finde ist das du /dev/video0 abgreifst. das gleiche macht ja auch der fbtv.


    wenn ich mir das so recht überlege kann das eigentlich nur ein problem von dem vlc im zusammenspiel mit dem v4l treiber sein.


    na ja schaun mer mal.....


    besten dank jedenfalls von mir und meiner liebsten


    klaus

  • Also bei mit klappt dein erster Befehlt schon mal nicht :(


    vdr:/usr/local/src # ffmpeg -vd /dev/video0 -an http://localhost:554/feed1.ffm
    Could not read stream parameters from 'http://localhost:554/feed1.ffm'

    TV VDR: GigaByte 965DS3, Intel C2D 2,4GHz, 1GB RAM, HD Ext, 2x TT PCI S-3200 DVB-S2, ATI Radeon HD2600, VDR 1.6.0-HDTV, Gentoo 2007.1, Kernel 2.6.24
    TV VDR: AOpen 945 GTM-VHL, Intel C2D-M 1,83GHz, 2GB RAM, HD Ext, 1x TT PCI S-3200 DVB-S2, Intel GMA950, VDR 1.6.0-HDTV, Gentoo 2007.1, Kernel 2.6.24
    VDR Server: Supermicro 370DE6, 2x Intel P3 866 MHz, 2GB RAM, TT-DVB-s Rev. 1.3, TT S1100 budget, KNC1 budget, TT S1401, 2x 500GB WD HDs, 1x 9GB U160 SCSI

  • ok, andere reihenfolge, dann gehts, erst den Server starten ;)



    Sound sollte auch kein allzugroßen problem werden, wenn man die DVB an die Soundkarte anklemmt, und dann vom Line In nimmt (kann ich net testen, mein VDR hat keine SK).

    TV VDR: GigaByte 965DS3, Intel C2D 2,4GHz, 1GB RAM, HD Ext, 2x TT PCI S-3200 DVB-S2, ATI Radeon HD2600, VDR 1.6.0-HDTV, Gentoo 2007.1, Kernel 2.6.24
    TV VDR: AOpen 945 GTM-VHL, Intel C2D-M 1,83GHz, 2GB RAM, HD Ext, 1x TT PCI S-3200 DVB-S2, Intel GMA950, VDR 1.6.0-HDTV, Gentoo 2007.1, Kernel 2.6.24
    VDR Server: Supermicro 370DE6, 2x Intel P3 866 MHz, 2GB RAM, TT-DVB-s Rev. 1.3, TT S1100 budget, KNC1 budget, TT S1401, 2x 500GB WD HDs, 1x 9GB U160 SCSI



  • Hallo Klaus,


    die Option -an (ffmpeg -vd /dev/video0 -an http://localhost:554/feed1.ffm) benutz ich nur, da wie gesagt meine Soundkarte nicht funzt. Wie auch Konni__ schon gesagt hast kannst du ja versuchen über DVB-Audio-Out in Line-In deiner Soundkarte im VDR dir den Ton abzugreifen. Weis jetzt leider nicht welche Option man ffmpeg mitgeben muß, vielleicht einfach -an weg lassen. Kannst du ja mal ausprobieren.


    Litwas

    Hardware: Pentium3 1GHZ; 512 MB Ram; Hauppauge Nexus-S 2.1 + original Fernbedienung, Terratec Cinergy1200 DVB-C


    System: debian sarge; Kernel 2.6.16;


    VDR: VDR 1.4.1


    PLUGINS: remote 0.3.5

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!