Hallo vdr-ler allesamt,
ich benutze debian sid mit vdr 1.7.27 und habe bei einer Neuinstallation - ich hab das wohl schon vor ewigen Zeiten mit einer vorherigen Version hinbekommen, jetzt gehts mit 1.7.27 / streamdev-server 0.6 nicht mehr - das Problem dass ich das externremux nicht zum Laufen bekommen.
Ich verwende die externremux.sh (1) aus dem vdr-wiki und eine speziell angepasste mencoder Option. Da ich genau weiss - ich hab das getestet - das die mencoder Befehlszeile aus der Shell heraus funktioniert kann es IMHO nicht an den mencoder Optionen oder Libs liegen. Dies scheint der Blick in das Log zu bestätigen (ab Zeile 82), welches wie folgt aussieht
MEncoder 1.1-4.7 (C) 2000-2012 MPlayer Team
get_path("config") problem
Reading from stdin...
success: format: 0 data: 0x0 - 0x0
libavformat version 54.6.101 (internal)
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
Cannot seek backward in linear streams!
Seek failed
TS file format detected.
Cannot seek backward in linear streams!
Seek failed
VIDEO MPEG2(pid=1501) AUDIO MPA(pid=1503) SUB Teletext(pid=1404) PROGRAM N. 15
Cannot seek backward in linear streams!
Seek failed
VIDEO: MPEG2 720x576 (aspect 3) 25.000 fps 15000.0 kbps (1875.0 kbyte/s)
[V] filefmt:29 fourcc:0x10000002 size:720x576 fps:25.000 ftime:=0.0400
==========================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
** MUXER_LAVF *****************************************************************
REMEMBER: MEncoder's libavformat muxing is presently broken and can generate
INCORRECT files in the presence of B-frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
OK, exit.
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [harddup]
Opening video filter: [scale]
Opening video filter: [softskip]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.23.100 (internal)
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
[VD_FFMPEG] Trying pixfmt=0.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=1.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=2.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0x8bf7dc0]Bicubic spline scaler, from yuv420p to yuv420p using MMX2
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 2.2
Pos: 0.0s 2f ( 0%) 0.00fps Trem: 0min 0mb A-V:-0.004 [0:0]
1 duplicate frame(s)!
Pos: 0.0s 3f ( 0%) 0.00fps Trem: 0min 0mb A-V:-0.008 [0:0]
1 duplicate frame(s)!
Pos: 0.8s 22f ( 0%) 15.68fps Trem: 0min 0mb A-V:-0.084 [0:113]
1 duplicate frame(s)!
Pos: 1.3s 32f ( 0%) 18.70fps Trem: 0min 0mb A-V:-0.084 [0:109]
1 duplicate frame(s)!
Pos: 1.7s 42f ( 0%) 19.84fps Trem: 0min 0mb A-V:-0.084 [0:108]
1 duplicate frame(s)!
Pos: 2.2s 52f ( 0%) 19.27fps Trem: 0min 0mb A-V:-0.084 [0:110]
1 duplicate frame(s)!
Pos: 2.6s 62f ( 0%) 19.98fps Trem: 0min 0mb A-V:-0.084 [0:112]
1 duplicate frame(s)!
Pos: 3.0s 72f ( 0%) 20.51fps Trem: 0min 0mb A-V:-0.084 [0:113]
1 duplicate frame(s)!
Pos: 3.5s 82f ( 0%) 21.45fps Trem: 0min 0mb A-V:-0.084 [0:112]
VIDEO CODEC ID: 28
AUDIO CODEC ID: 15002, TAG: 0
Writing header...
1 duplicate frame(s)!
Pos: 3.6s 85f ( 0%) 21.14fps Trem: 0min 0mb A-V:-0.056 [37:112]
TS_PARSE: COULDN'T SYNC
Pos: 3.9s 92f ( 0%) 9.14fps Trem: 0min 0mb A-V:-0.084 [44:112]
1 duplicate frame(s)!
Pos: 4.4s 102f ( 0%) 10.10fps Trem: 0min 0mb A-V:-0.084 [46:112]
1 duplicate frame(s)!
Pos: 4.7s 110f ( 0%) 10.86fps Trem: 0min 0mb A-V:-0.036 [48:112]
Flushing video frames.
Display More
Ich schliesse daraus, das mencoder beginnt zu konvertieren und nach ca 3,5 Sek. (ab Zeile 107) abbricht, da offensichtlich die PIPE zur FIFO zerschossen wird. Das schliesse ich aus dem VDR Logfile, denn da drin steht:
cat: write error: Broken pipe
/etc/vdr/plugins/externremux.sh: line 12: rm -rf /tmp/externremux-13700: No such file or directory
Meine externremux.sh sieht so aus wie im Wiki (abgesehen bis auf die Bash Shell):
#!/bin/bash
umask 077
tmpdir=${TMPDIR-/tmp}/externremux-${RANDOM:-$$}
FIFO=$tmpdir/out.avi
OUTLOG=$tmpdir/out.log
mkdir -p $tmpdir || exit 1
mkfifo $FIFO
(cat $FIFO; rm -rf $tmpdir) &
mencoder <OPTIONEN> -o $FIFO -- - &>$OUTLOG
Ja, und nun verliessen sie ihn. Wer hat eine Idee zur Lösung des Problems? Umgebungsvariablen der Shell? Cache? FIFO Parameter?
Ich würde mich über jeden Hinweis freuen.