Re: Buffer overflows recording HDTV with saa7146 and mantis DVB-C tuners

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux