Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recording filename ':ö' won't work (using vdr --vfat) #1

Open
fjf2002 opened this issue May 6, 2018 · 4 comments
Open

Recording filename ':ö' won't work (using vdr --vfat) #1

fjf2002 opened this issue May 6, 2018 · 4 comments

Comments

@fjf2002
Copy link

fjf2002 commented May 6, 2018

It took me quite a while to figure out: Filenames that contain either ':' or an umlaut (for example, 'ö') work. But it doesn't work if both occur. Vdradmin seems to do something wrong with umlauts?

My recording is named ':ö', and vdr named the directory '#3Aö', according to --vfat setting.

I am not 100% sure what I'm doing, but in sub encode_RecTitle, I replaced the line

unless ($c =~ /[öäüßÖÄÜA-Za-z0123456789_!@\$%&()+,.\-;=~ ]/) {

with

if ($c =~ /["\/:*?|<>#]/) {

According to https://github.com/yavdr/vdr/blob/7f595b6bc9a15dd8ae4c7540f81d4f8456761a93/recording.c line 573:

const char *InvalidChars = "\"\\/:*?|<>#";

Could it be that the code has had two issues?

  1. Perl does not handle umlauts in regexes?
  2. The set of chars-to-replace in this script and in vdr do not match?

Regards,
fjf2002

@glenvt18
Copy link
Owner

glenvt18 commented May 9, 2018

@fjf2002 Nice observation. Thanks. It looks like VFAT character encoding was changed in VDR 11 years ago :)

ftp://ftp.tvdr.de/vdr/Developer/vdr-1.5.3-1.5.4.diff

Could you test 801cc97 before I merge it. I can't run VDR with VFAT myself ATM.

BTW. Does recordings streaming via streamdev work with VFAT?

@fjf2002
Copy link
Author

fjf2002 commented May 9, 2018

@glenvt18 Thanks for your quick reply. I will test shortly.

Why did you remove the #VFAT off path?

BTW. Does recordings streaming via streamdev work with VFAT?

I am streaming recordings with samba - because this seems the only way to do it with vdradmin-am (please correct me if I'm wrong). And I had to deal with characters like double points in path names that windows can't handle - that was the reason I use vdr with the --vfat parameter. Eventually I stumbled over this vdradmin-am bug.

Streaming via streamdev and --vfat enabled does work. But

  • vdradmin-am does not support it (?)
  • I could not figure out how the streamdev urls (i. e. http://myserver.com/60:6974.rec) and the recordings correlate
  • At least in VLC jumping in the video does not work properly.

BTW Does anybody use VDR and vdradmin-am? Most docs and forum entries seem 10 years old.

@glenvt18
Copy link
Owner

glenvt18 commented May 9, 2018

Why did you remove the #VFAT off path?

It's just tr() (CharExchange[] in recording.c).

Streaming via streamdev and --vfat enabled does work. But
vdradmin-am does not support it (?)

This fork does: 5e089c4.

BTW Does anybody use VDR and vdradmin-am? Most docs and forum entries seem 10 years old.

Well, I use it in my 'production'. After some fixing it does the job quite well. I like the idea of using SVDRP interface - it is safer and doesn't add dependencies to VDR. This fork is also faster and consumes less memory (can be run on an ARM). Unfortunately, it looks like the upstream development at projects.vdr-developer.org has stalled. As for alternatives, I don't know if porting of the vdr-live plugin to VDR 2.3.x/2.4.0 has been completed. VDR 2.3.x left lots of dead plugins:( vdr-plugin-restfulapi looks more interesting, but AFAIK there is no fully functional web frontend for it.

Besides, I suspect that 'long' regex is broken. Could you give me the binary output of your SVDRP lstr command with umlaut and : (redirect and tar) and the binary output of find/ls of the recordings directory +
echo $LANG. Don't open the redirection file in an editor - it might accidently change the encoding.

@glenvt18
Copy link
Owner

@fjf2002 Have you had a chance to test 801cc97?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants