Am 07.11.24 um 21:36 schrieb Klaus Schmidinger:
On 06.11.24 04:57, schorpp wrote:
Hello,
I've build a new VDR with h.264 xineliboutput plugin software decoding
and got a problem now with
buffer overruns and distorted recordings on all HD channels:
...
Nov 5 05:32:03 vdr2 vdr: [32753] ERROR: 47231 ring buffer overflows
(8879240 bytes dropped)
Nov 5 05:32:09 vdr2 vdr: [32753] ERROR: 31042 ring buffer overflows
(5835896 bytes dropped)
Nov 5 05:32:15 vdr2 vdr: [32753] ERROR: 47325 ring buffer overflows
(8897100 bytes dropped)
Nov 5 05:32:21 vdr2 vdr: [32753] ERROR: 28306 ring buffer overflows
(5321528 bytes dropped)
Nov 5 05:32:27 vdr2 vdr: [32753] ERROR: 14033 ring buffer overflows
(2638204 bytes dropped)
...
This occurs with both saa7146 and mantis pci tuner cards.
This has not occured with the old VDR system using Broadcomm's
crystalhd decoder in libxine.
You're talking about "xineliboutput" and "libxine", as well as
"saa7146", "mantis pci tuner cards"
and "Broadcomm's crystalhd decoder". Did you change several of these at
the same time?
? I didn't understand that fully.
Yes, the issue is reproducible with both tv card models and linux
3.12.40...6.x drivers.
No, the old crystalhd system is already deactivated and dissassembled
for selling to eastern europe.
Can you start from a working system and change only one at a time, to
find out which one
causes the problem.
Yes, the testing platform is the new DFI x86 I7 System with plenty of
ressources using xineliboutput ffmpeg AV software decoding.
Nov 7 18:13:21 vdr2 vdr: [25428] initializing plugin: xineliboutput
(2.0.0-cvs): X11/xine-lib Ausgabe-Plugin
I could install e.g. softhddevice to crosscheck if still available in
yavdr precision ppa but kaffeine recording works fine?
The issue occurs using production software vdr 2.0.6 AND
using recent VDR and drivers with minidvblinux.de 6.5 live system
(xineliboutput).
Both SD (MTV,ARD,ZDF, DELUXE MUSIC) and HD Channels (ARD,ZDF) affected.
I've already increased the libxine buffer:
Nov 8 01:33:22 vdr2 vdr: [6124] [input_vdr] Using non-default
"media.xvdr.num_buffers_hd:5000"
It looks like a problem with the high bandwidth ZDF/ARD channels,
like we had with the old TT/Siemens full-featured mpeg2 decoder dvb
cards but this should not occur with the advanced TDA10023 Tuner cards,
Recordings of the low bandwidth TELE5/DMF SD channels are always ok.
I've recorded TELE5 and DMF channels simultanously for 2h without any
buffer overflow in logs.
Nov 8 03:31:31 vdr2 vdr: [9454] buffer usage: 80% (tid=9453)
Nov 8 03:31:57 vdr2 vdr: [9454] buffer usage: 60% (tid=9453)
Nov 8 03:31:57 vdr2 vdr: [9454] buffer usage: 70% (tid=9453)
Nov 8 03:31:57 vdr2 vdr: [9454] buffer usage: 60% (tid=9453)
Nov 8 03:36:44 vdr2 vdr: [6108] buffer stats: 0 (0%) used
Recording high bandwidth zdf neo HD simultanously with DMF SD
reproduces the issue:
Nov 8 04:28:14 vdr2 vdr: [11341] buffer usage: 80% (tid=11378)
Nov 8 04:28:29 vdr2 vdr: [11341] buffer usage: 90% (tid=11378)
Nov 8 04:28:32 vdr2 vdr: [11341] buffer usage: 100% (tid=11378)
Nov 8 04:28:32 vdr2 vdr: [11341] ERROR: 1 ring buffer overflow (1 bytes
dropped)
Nov 8 04:28:38 vdr2 vdr: [11341] ERROR: 15000 ring buffer overflows
(2820000 bytes dropped)
Nov 8 04:28:45 vdr2 vdr: [11341] ERROR: 5570 ring buffer overflows
(1047160 bytes dropped)
Nov 8 04:28:52 vdr2 vdr: [11341] ERROR: 4974 ring buffer overflows
(935112 bytes dropped)
Nov 8 04:28:58 vdr2 vdr: [11341] ERROR: 20223 ring buffer overflows
(3801924 bytes dropped)
After some Minutes the buffers overflow and the record gets distorted.
LIVE TV works fine.
I've tried stable and testing minidvblinux.de VDR live systems to
crosscheck, but same issue occurs.
If I increase the buffer for the saa7164 cards with module parameter
it's getting worse and distorted picture and sound.
Any Ideas?
Increase VDR's buffer in source code?
Where's the (ring) buffer code in VDR sources, I try increasing?
Nov 7 05:00:59 vdr2 vdr: [2348] [input_vdr] vdr_plugin_write: buffer
overflow ! (2068 bytes)
Nov 7 05:01:20 vdr2 vdr: [2348] [input_vdr] vdr_plugin_write: buffer
overflow ! (2068 bytes)
What is the correct driver module debug parameter to provide a useful
debog log?
There're no buffer options in the mantis kernel driver.
Y
tom
Not a DVB drivers or hardware issue.
Good old Kaffeine DVB app recordings are OK, no distorted stream.
VDR BUG!
Can you send me a recording that shows the problem?
You can use https://www.transfernow.net to do so.
https://www.transfernow.net/dl/20241108oxywvwO3/xMpWPpc5
ffmpeg analyze log attached here. -Attachment unix encoded TXT-
Klaus
y
tom
ffmpeg version 4.4.5 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-gnutls --disable-liblensfun --disable-libopencv --disable-podpages --disable-sndio --disable-stripping --enable-avfilter --enable-avresample --enable-chromaprint --enable-frei0r --enable-gcrypt --enable-gpl --enable-ladspa --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdavs2 --enable-libdc1394 --enable-libdrm --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libkvazaar --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-nonfree --enable-openal --enable-opencl --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-vulkan --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-vaapi --enable-libmfx --enable-libvmaf --enable-libilbc --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312654434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312661634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312668834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312683234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312694034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312704834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312715634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312722834).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312668114).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312737234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312744434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312694034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312751634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312719954).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312769634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312794834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312816434).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312758834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312827234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312838034).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312784754).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312845234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312852434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312810674).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312866834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312874034).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312849554).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312881234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312895634).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312875474).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312910034).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312901394).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312920834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312938834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312956834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312967634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7312989234).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7312927314).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313025234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313050434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313072034).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313018034).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313082834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313093634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313118834).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313108754).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313140434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313158434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313169234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313176434).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313134674).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313183634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313230434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313259234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313277234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313320434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313342034).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313225394).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313352834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313367234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313410434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313428434).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313406834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313435634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313464434).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313432754).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313482434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313489634).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313471634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313496834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313500434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313497554).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313523474).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313532834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313576034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313583234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313590434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313601234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313615634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313633634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313640834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313651634).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313614194).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313669634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313687634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313705634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313723634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313759634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313795634).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313795634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313820834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313838834).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313821554).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313846034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313871234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313892834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313903634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313914434).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313925234).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7313950434).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7313912274).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7314002994).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314026034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314044034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7314028914).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314069234).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7314054834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314072834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314080034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314090834).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7314093714).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314108834).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7314119634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314170034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314188034).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = NOPTS).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7314198834).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7328890434).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7328868114).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7328897634).
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 0, dts = 7328904834).
[mpegts @ 0x55e37ed20700] PES packet size mismatch
[mpegts @ 0x55e37ed20700] Packet corrupt (stream = 1, dts = 7328894034).
Input #0, mpegts, from '/mnt/vdr2-video1/kerrang/%US_TOP_25/2024-11-07.12.00.21-0.rec/00001.ts':
Duration: 00:03:00.84, start: 81251.795933, bitrate: 1782 kb/s
Program 132
Stream #0:0[0x92f]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Side data:
cpb: bitrate max/min/avg: 1456800/0/0 buffer size: 1835008 vbv_delay: N/A
Stream #0:1[0x930](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
At least one output file must be specified