externremux.sh beendet nicht

  • Nach einem reboot war das "dvb_demux_feed_del: feed not in list" verschwunden... fremd.


    Aber mein externremux.sh, mencoder und cat prozessen wurden noch immer nicht beendet; syslog:


    Code
    Dec  3 12:40:04 pdis vdr: [29977] streamdev: closing streamdev connection to 127.0.0.1:53939 
    Dec  3 12:40:04 pdis vdr: [504] ERROR: streamdev-server: couldn't send data: Ongeldige bestandsdescriptor
    Dec  3 12:40:08 pdis vdr: [29977] streamdev-server: externremux process won't stop - killing it


    Ich hab die externremux.sh von wiki probiert.


    Snif :weinen

  • Zitat

    Original von schmirl


    Das war der entscheidende Hinweis - Danke! Virtuellen Destruktor vergessen :whatever


    Nun klappts wieder :]


    LG Ronny

  • Bin ich wieder....


    Ab und zu geht es nicht...


    syslog:

    Code
    Dec  3 13:46:27 pdis vdr: [822] streamdev: closing streamdev connection to 127.0.0.1:47742
    Dec  3 13:46:27 pdis vdr: [16446] ERROR: streamdev-server: couldn't send data: Ongeldige bestandsdescriptor
    Dec  3 13:46:31 pdis vdr: [822] streamdev-server: externremux process won't stop - killing it


    (manchmal komt nur "couldn't send data: Ongeldige bestandsdescriptor" mencoder wir trotsdem beëndet.)


    Und ps:


    Code
    16441 ?        S      0:06 mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350 -oac mp3lame -lameopts preset=15:mode=3 -vf scale=320:208 -o /tmp/externremux-7771/out.avi -- - 
    16444 ?        Z      0:00 [externremux.sh] <defunct>


    Nachdem ich "kill -9 mencoder" ausführe ist die defunct auch verschwunden.


    in etwa 30 % der fälle geht es falsh, timing problem ?


    Carel

  • Das bestätigt was ich die ganze zeit beobachtet habe. die mencoders bleibt mit <defunct> hängen. Ich denke da ist es dann egal ob extern mit Script oder vom Plugin selbst ein kill -9 auf externremux.sh abgefeuert wird.

  • Ich denke ich hab's gefunden:


    Nicht nur "#!/bin/sh" im externremux.sh anderen in "#!/bin/bash", sondern auch:

    Code
    if (execl("/bin/sh", "sh", "-c", cmd.c_str(), NULL) == -1) {


    in

    Code
    if (execl("/bin/bash", "sh", "-c", cmd.c_str(), NULL) == -1) {


    Im file "remux/extern.c"


    Das funktioniert jetzt bei mir ! :grinzs :grinzs


    Carlos

  • Zitat

    Original von carel
    Jetzt funzt :lol1 das hier auch mit dem exterremux.sh vom plugin source.
    Ich musste allerdings "#!/bin/sh" änderen in "#!/bin/bash"


    Ist bei debian squeeze etwa auch die bescheuerte Dash default, wie bei ubuntu? Dann reicht aber auch "dpkg-reconfigure dash" und dann die Dash als default abwählen. Danach ist /bin/sh wieder die bash und dann braucht nichts mehr in den anderen Files geändert werden.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Zitat

    Original von gda


    Ist bei debian squeeze etwa auch die bescheuerte Dash default, wie bei ubuntu? Dann reicht aber auch "dpkg-reconfigure dash" und dann die Dash als default abwählen. Danach ist /bin/sh wieder die bash und dann braucht nichts mehr in den anderen Files geändert werden.


    Gerald


    Ist naturlich auch so....., aber die (das?) freundliche installer von dash sagte mir das mit dash mein system sneller sein wurde....


    Txs


    Carel

  • ich muß den Thread nochmal aufwärmen.
    Ich habe die Änderungen hier aus dem Thread angewendet und Streamdev neu kompiliert.
    Soweit so gut..allerdings werden beim streamen DREI mencoder Prozesse gestartet, aber nur zwei beendet.
    Meine mencoder commandline, nur relevanter Teil:

    Code
    exec mencoder -cache 50000 -ovc x264 -ofps 15 -x264encopts no8x8dct:no_mixed_refs:ref=2:subme=4:weightp=1:bitrate=300:threads=2........usw


    nach meinem Verständnis, sollten also nur ZWEI Threads gestartet werden und nicht DREI.
    Gibts da auch ne Lösung?

    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)

  • Hi. Ich habe zwar nur einen streamdev Prozess aber der beendet sich nicht.


    Code
    Jun 30 20:19:44 vdr vdr: [1367] streamdev-server: externremux process won't stop - killing it


    Gruß


    Obelix



  • Hi


    Code
    nach meinem Verständnis, sollten also nur ZWEI Threads gestartet werden und nicht DREI.


    Das wird verursacht dürch das caching...


    Code
    Jun 30 20:19:44 vdr vdr: [1367] streamdev-server: externremux process won't stop - killing it


    Ich hab in remux/extern.c von

    Code
    // signal and wait for termination
    if (kill(m_Process, SIGINT) < 0) {


    das:

    Code
    // signal and wait for termination
    if (kill(m_Process, SIGKILL) < 0) {


    gemacht, nicht schön aber bei mir gibt's keine probleme damit.


    CU


    Carel

  • Hallo Carel.



    Danke, funktioniert tadellos.


    Gruß


    Obelix



Jetzt mitmachen!

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