ffmpeg statt mencoder in externremux - machbar?

  • Hi,
    da icn mssive Probleme mit Mencoder und externremux habe, (Segfaults), wollte ich mal nachfragen, og es möglich ist, stattdessen ffmpeg zu benutzen.
    Z.Zt. nutze ich ffmpeg manuell und schiebe dann mittels VLC den Stream 1:1 in Netz.
    Das funktioniert recht gut, ist aber umständlich.


    zuerst mkfifo /tmp/stream.ts
    dann:
    ffmpeg commandline:

    Code
    /usr/local/bin/ffmpeg -i http://localhost:3000/TS/9 -deinterlace -f mpegts -acodec libmp3lame -ab 32k -ac 1 -s 480x320 -vcodec libx264 -b 300k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 300k -maxrate 300k -bufsize 512k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -g 30 -async 2 -threads 4 - > /tmp/stream.ts


    dann:
    VLC:

    Code
    cvlc -vvv -I http /tmp/stream.ts :file-caching=1000 --sout="#std{access=http,mux=ts,dst=0.0.0.0:1234}"


    Das ganze läuft stabil bei 25-30% CPU.
    Aber schöner (einfacher) wärs halt mit streamdev

    Linux Mint Helena (Ubuntu 9.10),
    Athlon X250 2x3.0 GHZ/4GB RAM
    VDR 1.6.x, Streamdev-Server 0.5, Live 0.2 (Eigenkompilate)

    Einmal editiert, zuletzt von vel_tins ()

  • Hallo, das sollte überhaupt kein Problem sein.
    nehme die externremux.sh (2) vom VDR-WIKI und füge folgende Zeile ein:

    Code
    "FFMPEG")
                     ENCOPTS="<DEINE OPTIONEN>"
                     cat $FIFO & /usr/local/bin/ffmpeg $ENCOPTS $FIFO - &>$OUTLOG
                     ;;


    Aufruf dann am client mit:

    Code
    cvlc "http://<IP-DES-RECHNERS>:3000/Extern;FFMPEG/<KANAL-NUMMER>"


    Nachtrag:
    je nach verwendeter streamdev-version kannst Du mit vlc im erweiterten menü sogar zappen.

    Code
    vlc "http://<IP-DES-RECHNERS>:3000/Extern;FFMPEG/channels.m3u"


    Schöne Ostern.

    VDR1: P5b-DE, E8400, 5TB Seagate Platten, squeezevdr/xbmc Frodo 2*Cinergy-1200, TT S2-3200,G210 MultiSeat für LG-32LD420+Desktop
    VDR2: AMD 5050e, Asus m3n78-pro, 2.5'' HDD, YAVDR-0.4, PT-AX100E+26'' BilligGlotze
    Server: Seagate Dockstar mit 2.5'' HDDs für Web/Mail/File/Print/Lirc/Musik 24/7

    3 Mal editiert, zuletzt von Hemingway ()

  • thanks für die Antwort, funktioniert so leider nicht....
    Hast du vielleicht mal eine komplette Beispiel externremux, die mit ffmpeg läuft?


    generell funktioniert externremux bei mir, allerdings nur mit Mencoder.
    Also liegts wohl nur am Aufruf von ffmpeg

    Linux Mint Helena (Ubuntu 9.10),
    Athlon X250 2x3.0 GHZ/4GB RAM
    VDR 1.6.x, Streamdev-Server 0.5, Live 0.2 (Eigenkompilate)

  • ich bin jetzt ein klein wenig weiter.
    Zumindest startet ffmpeg und nimmt über stdin schon mal den Stream an.
    Aber scheinbar schreibt er nicht nach stdout zurück.


    externremux.sh


    out.log:



    und dann gehts nicht weiter...

    Linux Mint Helena (Ubuntu 9.10),
    Athlon X250 2x3.0 GHZ/4GB RAM
    VDR 1.6.x, Streamdev-Server 0.5, Live 0.2 (Eigenkompilate)

    Einmal editiert, zuletzt von vel_tins ()

Jetzt mitmachen!

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