Automatically handling split films

Moderator: justinh

Post Reply
damion2
Newcomer
Posts: 8
Joined: Sat Oct 17, 2020 5:38 pm
Great Britain

Automatically handling split films

Post by damion2 »

A number of the minor channels (random examples: Paramount, ITV4, channel 5), divide feature films with a 5 minute alternative broadcast where you'd normally expect the adverts. This has bitten me many times, the worst case being if I don't notice until the film cuts out half way through when watching it.

I try to remember if it's one of these channels and double check the duration when requesting a record. If it's under 90 mins, I realise it's one of these situations. I address this by checking the end point of the second half, so I know how much significant padding needs to be added at the end of the earlier initial recording so the film is in one file.

However I don't always remember to check. I also believe this should be fixable via some automation so none of us have to do similar again.

I can't see any current threads discussing this but perhaps it's come up years ago. Does any one have any thoughts?

- Damion
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Automatically handling split films

Post by PhilB »

I was really intrigued by this and took it as a challenge! A system event at start of recording and a perl script to check the schedule and trigger part 2 of a film does it! Help texts, logging and testing took a bit longer.
I'm running v31 but it should work with 0.28 onward.
Would you (or anyone!) like to beta test the result?
https://pastebin.com/ZEdxjzdJ
Put the script into /usr/local/bin/checkfilm.pl
sudo chmod 755 /usr/local/bin/checkfilm.pl
checkfilm.pl --help
That should tell you how to proceed. Comments invited.
Apart from ITV2, ITV4 and the GREAT (ex Sony) channels, are there any others?
Phil
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Automatically handling split films

Post by PhilB »

The script is chugging along very happily with my v32 system but I have updated the script:
1. It now matches using title + description rather than just programid because I found a single example where this failed .
2. I revised the pause between requesting a recording and checking that it has been acknowledged.
3. Testing with Mythtv v32 via the new port 6547 showed a compatibility issue. If using this API interface or v33 of Mythtv when released you will also need scan_database.pm to be updated.
Happy viewing!
Phil
MozStoss
Newcomer
Posts: 10
Joined: Sat Jul 24, 2021 1:52 pm
British Indian Ocean Ter

Re: Automatically handling split films

Post by MozStoss »

will have a look at this to see if it helps with the new freesat HD itv2,3,4
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Automatically handling split films

Post by PhilB »

Hi MozStoss,
The script is fairly lightweight but I am putting a change in my system. In order to reduce system load just as a recording is starting I am now using the 'Recording started Writing' event and putting a delay in it:

Code: Select all

sleep 20 && /usr/local/bin/checkfilm.pl -v --chanid=%CHANID% >> /var/log/mythtv/checkfilm.log 2>&1 
Just shout if you have any questions or comments.
Phil
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Automatically handling split films

Post by PhilB »

I have just put this up on the wiki. https://www.mythtv.org/wiki/Split_films
Phil
keef256
Junior
Posts: 39
Joined: Fri Apr 22, 2022 3:38 pm
Great Britain

Re: Automatically handling split films

Post by keef256 »

I am trying to get this working on my system but I am struggling
So far I have managed to get the checkfilm.pl --help to work
but I can't work out where to put
module scan_database.pm

and what if anything I need to put in it.
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Automatically handling split films

Post by PhilB »

Hi. You can put it anywhere in perl path.
You can list perl path with

Code: Select all

perl -e 'print join ("\n", @INC), "\n"'
I put my copy of scan_database.pm in /etc/perl.

Alternatively, put it anywhere you like but change the 'use lib' at the start of scan_database.pm so it can find it. eg

Code: Select all

use lib '/home/phil/utils';  
Shout if you have more questions.
Phil
keef256
Junior
Posts: 39
Joined: Fri Apr 22, 2022 3:38 pm
Great Britain

Re: Automatically handling split films

Post by keef256 »

Thanks. And what is scan_database.pm?
Do I have to create it or download it from somewhere?
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Automatically handling split films

Post by PhilB »

Look at the setup section in
https://www.mythtv.org/wiki/Split_films#Setup
It points to
https://www.mythtv.org/wiki/Perl_API_examples
The module is at the end. Copy it to a file scan_database.pm
The module provides routines to read the backend and to analyse the data from it.

if you are still stick send me a private message - I'll email you copies.
Phil
Post Reply