ffmpeg-myth1: check the recording basename of the rec and tr-rec, if
they are equal, don't schedule a deletion
ffmpeg-myth0: institute an error handler around ffmpeg-myth1
ffmpeg-myth-do-pending-jobs: institute job control to prevent a collision
ltbtranscodedtobedeleted table in mythconverg has been added:
CREATE TABLE `ltbtranscodedtobedeleted` (
`basename` varchar(256) NOT NULL,
`deleted` tinyint(1) NOT NULL DEFAULT '0',
`expirydate` datetime NOT NULL,
`updatetimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8
MYTH-MERGE-TWO-RECORDINGS takes a recording chanid and starttime and
finds the next recording on that same chanid and uses the concat muxer
to merge the two files. The recording information is updated in
We should check for compatibility, but don't at the moment.
FFMPEG-REMUX-TO-H264-TS remuxes a recording into an mpegts
container. The name is somewhat wrong, because it does not transcode
to h264, but the main use is in converting matroska to mpegts
containers, and all my mkvs use h264-encoded video.
The current version of ffprobe,
ffprobe version 4.2.4-1ubuntu0.1 Copyright (c) 2007-2020 the FFmpeg developers
prints a value of 0 for each frame number in an h265-encoded
mpegts. So, we need to count for ourselves.
Experiments with h265-encoded videos shows that there is great
compression (~30-40% better than h264), but:
-the mythling player on android can't play them;
-the 8-yr old asus frontend can play cartoons fine, but not
-transcoding is about 1/3 the speed with libx265 vs. libx264
I will revisit the issue when one of the first two points makes it
possible, but until one of them needs to be replaced, I will stick
In v31 of mythtv, playback and editing of matroska-formatted
containers does not work well--seeking is broken so bookmarks,
jumping, etc. do not work.
So, an option to set the container format/muxer has been added to
FFMPEG-SPLIT+TRANSCODE-RECORDING, namely FFMPEG-TRANSCODED-FILE-MUXER,
and this is set to mpegts by default.
Because we relied on defaults for the matroska container, we have made
some things explicit (like using libx264 for the video codec). The
preset is also now veryfast, rather than slow, which is a recommended
setting on the ffmpeg users' mailing list.
FFMPEG-SPLIT+TRANSCODE-RECORDING also uses FFMPEG-TRANSCODING-OPTIONS
now, rather than hard-coded options.
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
When fed to the concat filter in ffmpeg-split+transcode-recording, the
recording will be transcoded.
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.
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)
-use the concat filter rather than segment+concat muxers
-currently, do not create a separate subtitle stream from closed
-ffmpeg-myth-do-pending-jobs will look up recordings with a cutlist and
run the transcoder (ffmpeg-myth-cut) over each