VDR version 2.7.5 is now available at the official VDR GIT archive
git://git.tvdr.de
You can also get the latest stable version with
git clone --branch stable/latest git://git.tvdr.de/vdr.git
or as a tar archive with
http://git.tvdr.de/?p=vdr.git;a=snapshot;h=stable/latest;sf=tbz2
The changes since version 2.7.4:
- Added the "override" keyword to virtual functions reimplemented in derived classes.
Plugins may want to do the same, but don't have to.
- Removed -…
[View More]Werror=overloaded-virtual from Makefile and Make.config(.template).
Plugins may want to do the same, but don't have to.
- Renamed cStatus::Osd*2() to cStatus::Osd*().
Plugins that use these recently introduced functions need to remove the '2' from the name.
- The new virtual function cSkinDisplayMenu::SetItemEvent(..., const cTimer *Timer) can be
used to get full access to the timer (if any) defined for this event.
- Added mutex locks to protect creating/deleting cStatus and cEpgHandler objects (suggested
by Markus Ehrnsperger).
- Making absolutely sure cEvent::Title() never returns NULL.
APIVERSNUM is now 30007.
- Improved subtitle handling:
+ Subtitles now disappear as signaled in the data stream.
+ Subtitles are now kept in memory for at least 120 seconds, to have them readily
available after a short rewind during replay.
- Subtitles can now be temporarily displayed after a fast rewind:
+ The setup option "DVB/Display subtitles" now has three settings: "no" and "always"
behave like before, the new "after rewind" turns on subtitles after a fast rewind
during replay, and off again when the point where the rewind was started is reached.
- Removed an unnecessary call to cDevice::GetVideoSize().
- Moved the call to Empty() back into the pmSlow case (thanks to Andreas Baierl).
- Fixed spurious times shown in the progress display when switching from "play" to "fast
forward".
- Now deleting old recording info before reading modified info file (suggested by
Stefan Hofmann).
- Plugins need to be rebuilt.
Homepage: http://www.tvdr.de
Facebook: https://www.facebook.com/VideoDiskRecorder
Have fun!
Klaus
[View Less]
> 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 …
[View More]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.
>
> 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?
>
> What is the correct driver module debug parameter to provide a useful debog log?
>
> Y
> tom
>
>
Not a DVB drivers or hardware issue.
Good old Kaffeine DVB app recordings are OK, no distorted stream.
VDR BUG!
y
tom
[View Less]
About 10 years ago I built an OTA recording system using a SiliconDust
ethernet receiver connected to a BeagleBone (linux) computer recording
to a SD card and then uploading to a NAS file server in the wee hours.
I hired an Elance programmer in Spain to write the code to interface
with the SiliconDust "calls". I recorded Craig Ferguson and football
programs mostly. Later I moved away from Denver and no longer needed
the system.
But all these years later I still was amazed and …
[View More]intimadated by the VDR
system and liked to read about the progress and challenges. All of you
and especially Klaus deserve much thanks for all your efforts and
dedication. I still use KODI on an Android box once in a while, but now
your efforts have prompted me to build my own VDR in tribute to 25 years
of your efforts. Thanks again for all the enjoyment in reading your
exploits.
Bruce
[View Less]
VDR version 2.7.4 is now available at the official VDR GIT archive
git://git.tvdr.de
You can also get the latest stable version with
git clone --branch stable/latest git://git.tvdr.de/vdr.git
or as a tar archive with
http://git.tvdr.de/?p=vdr.git;a=snapshot;h=stable/latest;sf=tbz2
The changes since version 2.7.3:
- Removed all DEPRECATED_* code.
- Fixed error checking in case the fps value can't be determined by the frame parser.
- Updated the Italian OSD texts (…
[View More]thanks to Diego Pierotto).
- The VDR homepage is now accessible via HTTPS.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed some typos in the translation files (thanks to Stefan Hofmann).
- Added some missing locking.
- TS packets with errors are now skipped when parsing for frames.
- Fixed handling the fps value if it can't be determined from the video data.
- Fixed accessing a timer's event schedule in case the event has been removed from the
schedule.
- Fixed a possible deadlock when canceling an editing process.
- Checking for VPS control is now limited to local timers.
- Added 1 to Utf8BufSize() for worst case (thanks to Stefan Hofmann).
- Fixed handling margins for timers that are not VPS controlled and not spawned (thanks
to Markus Ehrnsperger).
- Added a header to the backtrace (thanks to Stefan Hofmann).
- Added parameter checks to strn0cpy() (thanks to Stefan Hofmann). Same for Utf8Strn0Cpy().
- The info files of recordings are now only re-read if they have been modified (thanks
to Stefan Hofmann).
- The new virtual function cStatus::OsdItem2() can be used to get the information whether
a menu item is selectable (thanks to Markus Ehrnsperger). Plugins that implemented
cStatus::OsdItem() will still work as before, because the default implementation of
cStatus::OsdItem2() calls cStatus::OsdItem().
APIVERSNUM is now 30006.
- Fixed setting the file name of the info file after renaming a recording (reported by
Stefan Hofmann).
- Fixed an improper call of cStatus::OsdCurrentItem() before cStatus::OsdItem2() (reported
by Markus Ehrnsperger).
- Fixed an unnecessary redisplay of the menu when pressing a hotkey.
- Fixed unnecessary calls to DisplayCurrent() for editable menu items (thanks to Markus
Ehrnsperger).
- The new virtual function cStatus::OsdCurrentItem2() can be used to get the index of the
current menu item (thanks to Markus Ehrnsperger). Plugins that implemented
cStatus::OsdCurrentItem() will still work as before, because the default implementation
of cStatus::OsdCurrentItem2() calls cStatus::OsdCurrentItem().
- Fixed unnecessary calls to cStatus::OsdCurrentItem2() when scrolling.
- Added missing calls to cStatus::MsgOsdStatusMessage() and added the new virtual function
cStatus::OsdStatusMessage2(), which can be used to get the type of the message (thanks
to Markus Ehrnsperger). Plugins that implemented cStatus::OsdStatusMessage() will still
work as before, because the default implementation of cStatus::OsdStatusMessage2() calls
cStatus::OsdStatusMessage().
- Adjusted PLUGINS.html to the new API version numbering introduced in version 2.7.2.
- The function cPlugin::MainThreadHook() has been deprecated and may be removed in future
versions. Use proper locking instead.
- Fixed unnecessary redisplays of menus.
- Added '~' to the list of delimiters in cTextWrapper (thanks to Stefan Hofmann).
- Fixed progress display when switching from "pause" to "slow back" (reported by Andreas
Baierl).
- Fixed spurious fast frames when switching from "slow back" to "slow forward".
- Fixed cPtsIndex::FindFrameNumber() to handle the case where Pts points to an I-frame.
- Added missing locks to SetMenuItem() functions.
- Revised locking in cMenuSchedule and cMenuWhatsOn.
- Plugins need to be rebuilt.
Homepage: http://www.tvdr.de
Facebook: https://www.facebook.com/VideoDiskRecorder
Have fun!
Klaus
[View Less]
25 years ago today, on February 19, 2000, I released the very first version of the VDR. I never thought that this project would keep me busy for a quarter of a century.
I would like to use this special anniversary to thank the many users who have contributed to the further development of VDR with suggestions, patches, bug fixes and plugins.
At its peak, there were more than two thousand VDR users around the world (who registered with the VDR User Counter), of which today there are still a …
[View More]good 800 active. With the availability of media libraries and streaming, interest in a DVB recorder has naturally waned. However, there are also
advantages to being able to record films and series under your own control without being exposed to the risk that they will disappear from the online offering at some point.
On the page https://www.tvdr.de/cgi/vdr-counter?action=summary I have shown the history of the number of users over the years (generated from the counter's log file). In the first years of VDR, the number of users increased rapidly, peaking at over 2200. In March 2015, the counter started sending
emails to those who had not accessed their entry for more than a year, marking them as "outdated" if they did not respond with a confirmation of their entry. This caused the number of active users to drop abruptly by almost 800, and in the following years it continued to decrease. Apparently many of
the initial 2200 users only used VDR for a short time. In October 2024, this mechanism was revised so that those who have been notified once since 2015 will be notified again on a regular basis and have the option to either confirm or delete their entry. Here too, the number of active users fell by
several hundred and settled at just over 800 in January 2025.
Perhaps the "dark figure" is higher, because not everyone reads the VDR-Portal or the VDR mailing list. In any case, I still enjoy the project, and TV without VDR is unthinkable anyway ;-).
I wish all VDR users continued enjoyment with it!
Klaus
[View Less]
I got some video files in MPEG PS format.
These files would not play in VDR even if put them in directories named
after timestamps and name them 00001.ts. The command vdr --genindex
fails to create any index file.
However, if I first convert them to MPEG TS format with
ffmpeg -i file.mpg -c copy 00001.ts
then VDR will recognize and play the files (but report at least one
error per second).
I was wondering if there is a way to play MPEG PS recordings in VDR, or
a FUSE program that would …
[View More]make the recordings appear as something that
VDR recognizes. If I understand correctly, the MPEG PES format that VDR
originally used (the 001.vdr files) is kind of a subset of the PS
format.
If possible, I'd like to avoid any such conversion, at most add some
index files for VDR playback.
I found https://github.com/vdr-projects/vdr-plugin-dvd which should be
able to deal with the video format (DVD uses MPEG PS), but I suppose it
would only work with an actual DVD (if it is compatible with a current
VDR version).
Marko
[View Less]
A couple of weeks ago, Finland took the penultimate step to get rid of
DVB-T. Since years, we had DVB-T and DVB-T2 running in parallel. The
DVB-T transponders should be shut down in 2025.
The step was to introduce a second free-to-air DVB-T2 bouquet to carry
some channels that were previously only available with DVB-T and MPEG-2.
The VDR channel search failed to find this transponder; I ran a patched
version of https://github.com/mighty-p/t2scan/pull/15/ to generate a new
channels.conf. …
[View More](Is this a bug of VDR, or a feature? I remember that when
I originally set up VDR, I had to get a channels.conf from tscan or
t2scan.)
Unlike our first free-to-air DVB-T2 bouquet, which uses MPEG-4 H.264
video with AC3 audio, the second one uses H.264 video and HE-AAC audio,
also known as LATM or LOAS. This had to be explicitly enabled for my
output device: https://github.com/reufer/rpihddevice/issues/20
The HE-AAC support in rpihddevice is experimental, maybe because the
sampling rate is hard-coded as 48 kHz and the number of channels as 2.
Unlike AC3, it does not look like these parameters would be available in
any audio frame header. As far I understood from a NorDig.org
specification, the sampling rate would always be 48 kHz, but the number
of channels could be identified by something in the container,
specifically, Table 12.28 and Table 12.29 at page 164 of
https://nordig.org/wp-content/uploads/2016/03/NorDig-Unified-Requirements-v…
What would have to be changed in VDR or rpihddevice or both to correctly
switch between 2-channel and 5.1-channel HE-AAC audio? This is mostly an
academic question and exercise, because I only have stereo audio
hardware and don't know if any programming is actually available with
multichannel audio.
Best regards,
Marko
[View Less]
Hello,
I'm about fixing this old BUG exiting VDR on every 1st recording start:
# gdb attach <pid of vdr>
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x9c801b40 (LWP 8182)]
0x08136f6a in cFrameDetector::Analyze(unsigned char const*, int) ()
(gdb) bt
#0 0x08136f6a in cFrameDetector::Analyze(unsigned char const*, int) ()
#1 0x081295b2 in cRecorder::Action() ()
#2 0x08165e13 in cThread::StartThread(cThread*) ()
#3 0xb7693d97 in start_thread () from /lib/…
[View More]i386-linux-gnu/libpthread.so.0
#4 0xb73addfe in clone () from /lib/i386-linux-gnu/libc.so.6
(gdb) bt full
#0 0x08136f6a in cFrameDetector::Analyze(unsigned char const*, int) ()
No symbol table info available.
#1 0x081295b2 in cRecorder::Action() ()
No symbol table info available.
#2 0x08165e13 in cThread::StartThread(cThread*) ()
No symbol table info available.
#3 0xb7693d97 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
No symbol table info available.
#4 0xb73addfe in clone () from /lib/i386-linux-gnu/libc.so.6
No symbol table info available.
I've installed the vdr-dbg debian package to provide debugging symbols
to vdr gdb bt full but there's no README included how to use it.
# dpkg -L vdr-dbg
/.
/etc
/etc/init
/etc/init/vdr-dbg.conf ?*
/etc/init/vdr-exit-other.override ?*
/usr
/usr/lib
/usr/lib/debug
/usr/lib/debug/.build-id
/usr/lib/debug/.build-id/10
/usr/lib/debug/.build-id/10/e8b576883246ca77ad6f40e2c26053ba2d357c.debug
/usr/lib/debug/.build-id/86
/usr/lib/debug/.build-id/86/d9bba0c546ad5d7429259292b259103aabba03.debug
/usr/lib/debug/.build-id/6d
/usr/lib/debug/.build-id/6d/6631fca1b8d4962b2725add0c729fdeba6aa40.debug
/usr/share
/usr/share/doc
/usr/share/doc/vdr-dbg
/usr/share/doc/vdr-dbg/copyright
/usr/share/doc/vdr-dbg/changelog.Debian.gz
/usr/share/doc/vdr-dbg/changelog.gz
/usr/bin
/usr/bin/vdr-dbg
*Does this package interfere with my production vdr installation?
Can I just replace /usr/bin/vdr with /usr/bin/vdr-dbg in runvdr script?
There's only a gdb beginners guide in the wiki:
http://www.vdr-wiki.de/wiki/index.php/Gdbhttp://www.vdr-wiki.de/wiki/index.php?title=Spezial%3ASuche&search=vdr-dbg&…
?
Y
tom
[View Less]
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: …
[View More]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.
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?
What is the correct driver module debug parameter to provide a useful
debog log?
Y
tom
[View Less]
The newly refurbished VDR User Counter at
https://www.tvdr.de/counter.htm
now uses OpenStreetMap instead of Google Maps.
If you have a user number and password, please log in at
https://www.tvdr.de/cgi/vdr-counter?action=edit
(click "Edit my entry") and check if your data is still up-to-date.
If you don't remember your user number/password, enter your email
address and click "Send me a new password".
If you're a VDR user and have not yet registered with the VDR User Counter,
please …
[View More]go to
https://www.tvdr.de/cgi/vdr-counter?action=register
and join the VDR community.
Disclaimer:
The VDR User Counter is an attempt to find out how many people are actually
using VDR, so please register only if you are actually using VDR!
Note that there is absolutely no obligation to register yourself in order to
use VDR. VDR is free, open source software, so you can, of course, use it
without anybody's approval. However, developing a program is more fun if the
programmers know that it is being used by a great many people ;-).
Have fun!
Klaus
[View Less]