[mythtvnz] Cutting H.264 DVB-T files with ffmpeg without transcoding

David Moore dmoo1790 at ihug.co.nz
Sun Jul 25 00:59:02 BST 2010


Craig Blaikie wrote:
>> I've used VB a fair bit also but I don't think it's a good idea to rely
>> on something which isn't pretty standard in Ubuntu for portability
>> reasons. Turns out sql in bash is really simple. Just echo the sql
>> commands through a pipe to mysql and catch the results. Dead easy. :-)
>> Hardest thing will be understanding which tables need updating.
>> Recordedseek and recordedmarkup are the ones I know of so far.
>>
>> Actually looks like the trickiest thing is handling the cuts. Myth cuts
>> in recordedmarkup table are in frames whereas ffmpeg uses times so need
>> to do some maths to convert frame to time. Bash doesn't do floating
>> point maths but there is a linux utility called bc to do this so that's
>> no problem. Could be a problem with cut accuracy however. I had a look
>> at one of my recordings last night and it seems that the time myth shows
>> for the cut points is not exactly equal to the cut point frame number x
>> 25 (fps). I'm guessing there might be some issue with the start time for
>> the recording but not sure yet.
> 
> [Craig Blaikie] 
> I haven't seen the frame offset issue in MythTV, is it only in the final
> ffmpeg'ed file?  If it's a constant offset then it might be easier to add an
> adjustment/offset value. 
> Looks like mythcommflag can do most of the heavy lifting with --getcutlist
> which returns a nicely formatted set of cut points, (still in frames) then
> using --clearcutlist and --rebuild to reset the seektable.  I'll have a go
> at putting it together, might take me a few days...
> 
> Cutlist: 0-1220,17379-21140,33779-39043,49604-54116,66654-71917,83563-136461
> 

What I have seen is when you're editing a recording in myth it displays 
the time for the cut points. But when you look at the frame numbers in 
recordedmarkup they don't exactly match the times displayed by myth. I 
haven't checked a final file yet.

The cut list wasn't so hard after all. Simple use of mysql to store the 
cuts and cut types in an array and then a little code to convert to 
times and use them in ffmpeg.

I'm thinking I'll use mythcommflag for the final cleanup to rebuild the 
seek table and clear the cutlist.



More information about the mythtvnz mailing list