Today, HDTV recordings are limited to either no transcoding, or
transcoding to the parameters in the MPEG2 recording profile. They
aren't encoded at capture time, so there is no subsequent option to
save a configurable amount of disk space.

Attached is a patch to allow the configuration of a fixed number of
transcoding profiles ("High Quality", "Medium Quality", and "Low
Quality").

Summary:

        - Upgrade DB schema:

                - The option to automatically transcode a recording
                  has been moved out of the recording profile and into
                  the record (so that the currently-unused
                  "autotranscode" column is now useful).
                  
                  When the database is upgraded, recording schedules
                  using recording profiles with auto-transcode enabled
                  will have auto-transcode carried over.

                - Each record, in addition to a now-used
                  "autotranscode" option, also gets a new "transcoder"
                  option, which defaults to "Autodetect".

                - Delete the now-unused "autotranscode" option from
                  the codecparams table.

                - Provide some fixed transcoders: "High Quality",
                  "Medium Quality", and "Low Quality". Unfortunately,
                  no default values are actually provided, the user
                  must configure their desired values for these
                  transcoders. Also unfortunately, there is no UI to
                  add or remove transcoders (just like there is no UI
                  to add or remove recording profiles). However,
                  transcoders may be added to the database and things
                  should work, if people need more than these three
                  transcoders.

                - The default transcoder for all recordings is "0"
                  (autodetect) to preserve current behavior.

        - Add some logging to indicate when transcoding is
          starting/stopping (both to the regular log as well as the
          database logs).

        - MythFrontend UI changes:

                - Remove "automatically transcode" option from
                  recording profiles; auto-transcode is now a
                  per-recording option (parallel with per-recording
                  recording profiles).

                - Add auto-transcode and transcoder options to each
                  recording schedule, configurable at the time the
                  recording is scheduled. Default values are:
                  
                        - No auto-transcode.
                        - "Autodetect" transcoder.
                        
                  The "Autodetect" transcoder will choose between the
                  "From MPEG4/RTjpeg" and "From MPEG2" transcoders,
                  like it does today. Eventually the choice of
                  transcoder can be made more configuration (e.g.,
                  select transcoder based on 1080i/720p/480i
                  resolution of recording). For now, just preserve
                  behavior.

                - Add global settings UI to configure default values
                  for auto-transcode and transcoder, near default
                  values for commflagging and userjobs.

        - MythTranscode changes:

                - Fix a typo in the "help" text. :)

                - Add some output to reflect transcoding parameters.
                  This bit is mostly unnecessary, but can be useful
                  for identifying exactly what is happening for
                  "autodetect" transcoder jobs.

Possible breakage:

        - I'm not exactly sure how the "Live TV" recording profile is
          used when saving "Live TV" during live TV (is this even
          possible?). For normally-scheduled recordings that just
          happen to be configured with the "Live TV" recording
          profile, things are fine. But I'm unsure of the
          save-live-TV-on-the-fly implied by this code.
          
          See the diff for libs/libmythtv/tv_rec.cpp.

          If this is broken, let me know and I'll fix it; I would make
          auto-transcode-saved-live-TV a global option rather than a
          per-profile option. Other suggestions are welcome.

Thanks,
--Rob

Attachment: myth-dev.diff.bz2
Description: Binary data

_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to