deralex Posted June 10, 2012 Posted June 10, 2012 Hi, beim Streaming zum iPhone gibt es bei mir ein Problem. FFmpeg bricht fast immer mit folgender Fehlermeldung ab: \\.\pipe\Output{6E996FBC-1CAF-4580-A6B3-5223D824844E}: Invalid argument Ab und zu funktioniert das Ganze. Die svcdebug.log vermerkt dazu: 10.06.12 22:11:53.406 Converter Start cmd -threads 4 -i "http://192.168.2.206:7522/upnp/channelstream/145.ts" -threads 4 -f mpegts -vcodec libx264 -bufsize 1024k -b:v 680k -bt 780k -r 25.0 -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale=min(800\, trunc(iw/2)*2):trunc((ow/dar)/2)*2" -preset ultrafast -tune film -vprofile baseline -level 30 -acodec libmp3lame -ab 128k -ar 48000 -ac 2 -async 1 -y "\\.\pipe\Output{9DF450BA-BAAB-41CC-9740-58AFC7600101}"10.06.12 22:11:53.640 AddReference TStreamClient: 2 10.06.12 22:11:53.703 TBDATechniSat.Opendevice bvTechniSat 10.06.12 22:11:53.703 tStreamClient AllocateHardware TechniSat BDA Digital Tuner 10.06.12 22:11:53.703 TBDATechniSat.SetTuner TType: 1, Freq: 12692, Symrate: 22000, LOF: 10600, Tone: 1, Pol: 0, DiseqC: 3, FEC: 4, APID: 161, VPID: 160, PMT: 1001, SID: 13001, SatMod: 1, DiseqCVal: 0, NID: 1, Flags: 24 10.06.12 22:11:53.937 AllocateHardware TechniSat BDA Digital Tuner 10.06.12 22:11:57.140 Release TechniSat BDA Digital Tuner 10.06.12 22:12:00.109 FFMPEG ffmpeg version N-36193-gf514695, Copyright © 2000-2011 the FFmpeg developers built on Dec 26 2011 17:50:37 with gcc 4.6.2 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 51. 33.100 / 51. 33.100 libavcodec 53. 48.100 / 53. 48.100 libavformat 53. 28.100 / 53. 28.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 54.100 / 2. 54.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 5.100 / 0. 5.100 libpostproc 51. 2.100 / 51. 2.100 [mpeg2video @ 01E8C820] mpeg_decode_postinit() failure Last message repeated 2 times [mp3 @ 02190E60] Header missing [mpeg2video @ 01E8C820] mpeg_decode_postinit() failure Last message repeated 3 times [mpegts @ 01E89DE0] max_analyze_duration 5000000 reached at 5016000 [mpegts @ 01E89DE0] Estimating duration from bitrate, this may be inaccurate Input #0, mpegts, from 'http://192.168.2.206:7522/upnp/channelstream/145.ts': Duration: N/A, start: 92823.761922, bitrate: 10160 kb/s Program 13001 Stream #0:0[0xa0]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [sAR 64:45 DAR 16:9], 10000 kb/s, 26.05 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0xa1](ger): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 160 kb/s (clean effects) [buffer @ 02765FC0] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 sws_param: [yadif @ 02A97FC0] mode:0 parity:-1 auto_enable:1 [scale @ 01E89D40] w:720 h:576 fmt:yuv420p -> w:720 h:404 fmt:yuv420p flags:0x4 [libx264 @ 02231020] VBV maxrate unspecified, assuming CBR [libx264 @ 02231020] using SAR=404/405 [libx264 @ 02231020] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64 [libx264 @ 02231020] profile Constrained Baseline, level 3.0 [mpegts @ 0222FAA0] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to '\\.\pipe\Output{9DF450BA-BAAB-41CC-9740-58AFC7600101}': Metadata: encoder : Lavf53.28.100 Stream #0:0: Video: h264, yuv420p, 720x404 [sAR 404:405 DAR 16:9], q=-1--1, 680 kb/s, 90k tbn, 25 tbc Stream #0:1(ger): Audio: mp3, 48000 Hz, 2 channels, s16, 128 kb/s (clean effects) Stream mapping: Stream #0:0 -> #0:0 (mpeg2video -> libx264) Stream #0:1 -> #0:1 (mp2 -> libmp3lame) Press [q] to stop, [?] for help [mp2 @ 02190E60] Header missing Error while decoding stream #0:1 frame= 68 fps= 0 q=31.0 size= 0kB time=00:00:02.40 bitrate= 0.0kbits/s dup=13 drop=0 10.06.12 22:12:00.609 FFMPEG frame= 132 fps= 0 q=38.0 size= 0kB time=00:00:05.01 bitrate= 0.0kbits/s dup=13 drop=0 10.06.12 22:12:01.156 FFMPEG frame= 168 fps=112 q=41.0 size= 0kB time=00:00:06.48 bitrate= 0.0kbits/s dup=13 drop=0 Wenn es nicht funktioniert passiert Folgendes: 10.06.12 22:58:11.625 Converter Start cmd -threads 4 -i "http://192.168.2.206:7522/upnp/channelstream/145.ts" -threads 4 -f mpegts -vcodec libx264 -bufsize 1024k -b:v 1700k -bt 1800k -r 25.0 -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale=min(800\, trunc(iw/2)*2):trunc((ow/dar)/2)*2" -preset ultrafast -tune film -vprofile baseline -level 30 -acodec libmp3lame -ab 192k -ar 48000 -ac 2 -async 1 -y "\\.\pipe\Output{6E996FBC-1CAF-4580-A6B3-5223D824844E}"10.06.12 22:58:11.859 AddReference TStreamClient: 3 10.06.12 22:58:11.859 tStreamClient AllocateHardware TechniSat BDA Digital Tuner 10.06.12 22:58:11.859 AllocateHardware TechniSat BDA Digital Tuner 10.06.12 22:58:13.843 TUCCommandClient Addpid: 201 10.06.12 22:58:13.921 TUCCommandClient DelPid: 201 10.06.12 22:58:14.125 TUCCommandClient Addpid: 101 10.06.12 22:58:14.421 Release TechniSat BDA Digital Tuner 10.06.12 22:58:14.421 TUCCommandClient DelPid: 101 10.06.12 22:58:14.562 TUCCommandClient Addpid: 401 10.06.12 22:58:14.828 TUCCommandClient DelPid: 401 10.06.12 22:58:14.843 TUCCommandClient Addpid: 481 10.06.12 22:58:14.968 TUCCommandClient DelPid: 481 10.06.12 22:58:17.609 tStreamClient Release TechniSat BDA Digital Tuner 10.06.12 22:58:17.609 Releasereference TStreamClient: 2 10.06.12 22:58:17.609 FFMPEG ffmpeg version N-36193-gf514695, Copyright © 2000-2011 the FFmpeg developers built on Dec 26 2011 17:50:37 with gcc 4.6.2 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 51. 33.100 / 51. 33.100 libavcodec 53. 48.100 / 53. 48.100 libavformat 53. 28.100 / 53. 28.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 54.100 / 2. 54.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 5.100 / 0. 5.100 libpostproc 51. 2.100 / 51. 2.100 [mp3 @ 02190E60] Header missing [mpegts @ 01E89DE0] max_analyze_duration 5000000 reached at 5000000 [mpegts @ 01E89DE0] Estimating duration from bitrate, this may be inaccurate Input #0, mpegts, from 'http://192.168.2.206:7522/upnp/channelstream/145.ts': Duration: N/A, start: 158.140233, bitrate: 10160 kb/s Program 13001 Stream #0:0[0xa0]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [sAR 64:45 DAR 16:9], 10000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0xa1](ger): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 160 kb/s (clean effects) \\.\pipe\Output{6E996FBC-1CAF-4580-A6B3-5223D824844E}: Invalid argument 10.06.12 22:58:23.828 TUCCommandClient Addpid: 201 10.06.12 22:58:23.921 TUCCommandClient DelPid: 201 Es kommt mir fast ein bisschen so vor, als könne FFmpeg nicht in die entsprechende Pipe schreiben. Da das Verhalten nicht reproduzierbar ist (mal gehts, mal gehts nicht - öfter aber nicht - ohne dass klar wäre warum), nicht an bestimmten Kanälen hängt und mit verschiedenen Versionen von FFmpeg (Dez 2011, Jan 2012, Juni 2012) und verschiedenen Versionen des Recording-Service (1.9.3, 1.9.7) auftritt, bin ich am Ende meines Lateins. Hat jemand eine Idee?
mague Posted June 11, 2012 Posted June 11, 2012 Kann eine Sache des Loggers sein, aber in Log #1 ist die pipe in quotes und in Log #2 nicht.
deralex Posted June 11, 2012 Author Posted June 11, 2012 Hm, so wie ich das sehe ist das der Output von FFmpeg. Im Command oben ist es in beiden Fällen in Doublequotes, so wie es sein muss. Das Ganze tritt übrigens auch beim Streamingversuch vom normalen Webinterface auf. Also nicht nur beim Streaming zu iGeräten.
deralex Posted June 17, 2012 Author Posted June 17, 2012 Eine kurze Frage an die Entwickler: Ist diese Pipe-Geschichte irgendwo dokumentiert? Bzw. was hat es mit der Pipe auf sich. Ich bin mit meinem Latein am Ende und - ohne jede Theatralik - völlig am Verzweifeln. Ein Verständnis dieser Pipe würde mir eventuell helfen, die Rahmenbedingungen, unter denen der Fehler auftritt, zu identifizieren und das Problem reproduzierbar und damit lösbar zu machen.
Recommended Posts