Commit Graph

33 Commits

Author SHA1 Message Date
Leo Butler 265905ff90 start jobs with the greatest niceness 2021-04-18 06:33:41 -05:00
Leo Butler 22319f14a3 a draft of split+scale+... transcoder 2021-01-21 20:33:41 -06:00
Leo Butler 084cc7f63f tag the recording record depending on success of updating db 2021-01-21 20:32:49 -06:00
Leo Butler f999148fc4 allow re-create-record-data to pass recording records unaltered 2021-01-21 20:31:28 -06:00
Leo Butler def854296e mythtv-make-concat-list: handle empty cut list
If cut list is empty, set it to ((0 0)), so that concat list ends up
being ((0 N)) where N is either the last i-frame number or
greatest-fixnum.

When fed to the concat filter in ffmpeg-split+transcode-recording, the
recording will be transcoded.
2021-01-21 20:24:25 -06:00
Leo Butler f3c0d86d71 filter out any recordings in the Deleted group
Do not transcode a recording in the Deleted group.
2021-01-07 20:28:10 -06:00
Leo Butler 61dc6756d6 ensure that I-frames have valid data
With the current ffprobe [1], time or frame numbers for an I-frame may be
output that are invalid (N/A).

[1] ffprobe version 3.4.8-0ubuntu0.2 Copyright (c) 2007-2020 the FFmpeg developers
2021-01-07 20:24:10 -06:00
Leo Butler ea76a163a8 add mythconverg-update-recordedmarkup-table-rollback
A function to rollback a transcoding. It assumes that the original
file has not been altered in any way.
2020-12-08 12:52:18 -06:00
Leo Butler a16b9aaa99 Skip an I-frame that does not have a numeric PTS
In some older video files, ffprobe returns N/A (and possibly other
non-numeric data) when it can't determine the PTS. These cause
problems and ruin a transcode.
2020-12-08 12:47:06 -06:00
Leo Butler bbb2c1ebf7 add a recording-filesize function 2020-12-08 12:46:49 -06:00
Leo Butler fba4b359fa add a write-to-file function for exporting stuff 2020-12-08 12:46:16 -06:00
Leo Butler 35d0099e40 Use duration (-t) not end time (-to) for inputs
In older versions of ffmpeg (incl. ffmpeg version 3.4.8-0ubuntu0.2 ),
using the end-time (-to) causes a syntax error, so we need to switch
to using the duration.
2020-12-08 12:42:46 -06:00
Leo Butler 6dca224ea2 use the system binaries for ffmpeg and ffprobe
The library mis-match on ubuntu 18.04 seems impossible to fix, so
revert to using the system binaries.

This makes including a subtitle stream impossible for now, but moving
to the concat *filter* had made that pretty much impossible anyway,
because ffmpeg (even in HEAD) does not set the right PTS when the
input is in matroska format.
2020-12-08 12:38:57 -06:00
Leo Butler c844f0303c allow command-line option to set up job 2020-10-23 13:26:02 -05:00
Leo Butler e5270ae588 ensure that the start of next cut is after end of current cut 2020-10-23 13:25:12 -05:00
Leo Butler 832580ea6a constants for the recordedmarkup table in scheme 2020-07-27 17:33:47 -05:00
Leo Butler d3e1e370e5 mythconverg schema for v28 2020-07-27 17:33:47 -05:00
Leo Butler 9de80e032d A kludge to deal with problematic library upgrades
The release upgrade from 16.04 to 18.04 was not seamless.

LD_LIBRARY_PATH= ld ffmpeg.git/ffmpeg

ld: warning: libcdio_paranoia.so.1, needed by //usr/lib/x86_64-linux-gnu/libavdevice-ffmpeg.so.58, not found (try using -rpath or -rpath-link)
ld: warning: libcdio_cdda.so.1, needed by //usr/lib/x86_64-linux-gnu/libavdevice-ffmpeg.so.58, not found (try using -rpath or -rpath-link)
ld: warning: libbluray.so.1, needed by //usr/lib/x86_64-linux-gnu/libavformat-ffmpeg.so.58, not found (try using -rpath or -rpath-link)
ld: warning: libx265.so.79, needed by //usr/lib/x86_64-linux-gnu/libavcodec-ffmpeg.so.58, not found (try using -rpath or -rpath-link)
2020-07-27 17:33:47 -05:00
Leo Butler 306bd7c0ce correct the finding of nearest i-frames
the original code used >= or <= as the test, but the code actually
implemented > or <. This causes an ffmpeg error when there is only 1
i-frame between the lower and upper bound.
2020-07-27 17:33:47 -05:00
Leo Butler 88dcc5b470 add debugging print out in shell-command-to-string 2020-07-27 17:33:47 -05:00
Leo Butler 076164e4a0 clear cutlist commflagged bookmark and set transcoded 2020-07-27 17:33:47 -05:00
Leo Butler 0839a6be14 change csv-parser to ffprobe-out-parser
use #\page as the separator for ffprobe 'csv' output
2020-07-27 17:33:47 -05:00
Leo Butler f37ec47ee1 set PATH variable 2020-07-27 17:33:47 -05:00
Leo Butler 4335a8d9dd a cron job launcher for ffmpeg-myth.scm 2020-07-27 17:33:47 -05:00
Leo Butler 37a2c8df05 a guile scheme re-implementation
-use the concat filter rather than segment+concat muxers
-currently, do not create a separate subtitle stream from closed
captions

-ffmpeg-myth-do-pending-jobs will look up recordings with a cutlist and
 run the transcoder (ffmpeg-myth-cut) over each
2020-07-27 17:33:47 -05:00
Leo Butler 0137380569 a start at using elisp+comint-mode
abandoned in favour of scheme
2020-07-27 17:33:47 -05:00
Leo Butler 5fafa809e0 clean up transcoded files
TODO: use the db to find these files
2020-07-27 17:33:47 -05:00
Leo Butler 81912155c1 core sh scripts for transcoding to h264 in mkv 2020-07-27 17:33:47 -05:00
Leo Butler 763f589be1 scripts to remove cut or skip lists
Uses the concat muxer
2020-07-27 17:33:47 -05:00
Leo Butler 131e2fa645 a job launcher
passes most settings through environment variables
2020-07-27 17:33:47 -05:00
Leo Butler 64766508f0 cron script to clean up files
clean files that have been transcoded
2020-07-27 17:33:47 -05:00
Leo Butler 12d992fa94 initial commit 2020-07-27 17:33:47 -05:00
Leo Butler 8849d0b087 Initial commit 2020-06-15 16:25:50 +00:00