Opened 14 years ago
Closed 11 years ago
#8631 closed Developer Task (Fixed)
Treat cutlists like lossless transcoding
Reported by: | Owned by: | Jim Stichnoth | |
---|---|---|---|
Priority: | minor | Milestone: | 0.26.1 |
Component: | MythTV - Video Playback | Version: | Unspecified |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
This patch makes playback when a cutlist is present behave much more like after lossless transcoding. In particular:
- The playback progress indicator reflects the cutlist. For example, it might display "Play 7:43 of 42:44" instead of "Play 9:39 of 60:00".
- Seek operations, such as jumping forward or backward or to a particular minute mark, also take the cutlist into account.
I'm a little concerned that this introduces even more conversions back and forth between frames and seconds, but that cleanup is beyond the scope of this patch...
Attachments (9)
Change History (24)
Changed 14 years ago by
Attachment: | seek_honors_cutlist.patch added |
---|
comment:1 Changed 14 years ago by
Owner: | changed from Isaac Richards to sphery |
---|---|
Status: | new → assigned |
Changed 13 years ago by
Attachment: | seek_honors_cutlist_v2.patch added |
---|
comment:2 Changed 13 years ago by
Changed 13 years ago by
Attachment: | seek_honors_cutlist_v3.patch added |
---|
comment:3 Changed 13 years ago by
Added v3 patch, which makes additional fields available in the osd_program_editor theme context. "reltimedisplay" and "rellengthdisplay" are the equivalent to "timedisplay" and "lengthdisplay" with the current cutlist applied. "fulltimedisplay" has the pattern "timedisplay (reltimedisplay of rellengthdisplay)", e.g.:
0:16:23.09 (12:35 of 42:34)
The nice thing here is that while editing, you can see a running summary of how much of the recording is left over after the cutlist is applied.
The patch includes a sample usage in default-wide/osd.xml.
comment:4 Changed 13 years ago by
(In [27326]) Several changes to fix the current position and duration of the playback OSD
- Start using the currently displayed video timecode for the OSD position instead of frame number and total frames which is inaccurate.
- Use FFmpeg duration for pre-recorded and video playback length. LiveTV is already correct since it uses the actual recording times but in-progress recordings still uses frames written and fps which is obviously wrong for variable framerate and repeat frame material. The problem with in-progress duration should be able to be fixed by using recording times like livetv does. An update to mythplayer and the recorder class will be necessary.
- Refactor and clean-up some timestamp/timecode handling.
Refs #8631.
Fixes #9109.
comment:5 Changed 13 years ago by
I'm going to go 'on record' and state that I don't think this patch should be committed.
Firstly, I personally find it counterintuitive to display a different program duration (or position) from the actual, known value. The potential for confusion is huge.
Secondly, any confusion can only be mitigated by themers competently using the extra information available. Given that this is only likely to be a niche feature, I can see few themes actually doing that.
Finally, it adds a level of complexity to the playback code that we could really do without. We are trying to make this code simpler and more understandable and the 'cost' here does not outweigh the 'benefit' in my opinion.
comment:6 Changed 13 years ago by
See my response to Mark's comment on the dev list.
In case anyone else is using this patch, I'll continue to update the patch here if the ticket gets closed.
Changed 13 years ago by
Attachment: | seek_honors_cutlist_v4.patch added |
---|
Changed 13 years ago by
Attachment: | seek_honors_cutlist_v5.patch added |
---|
Changed 13 years ago by
Attachment: | seek_honors_cutlist_v6.patch added |
---|
Changed 13 years ago by
Attachment: | seek_honors_cutlist_v8.patch added |
---|
Changed 12 years ago by
Attachment: | seek_honors_cutlist_v11.patch added |
---|
Changed 12 years ago by
Attachment: | seek_honors_cutlist_v12.patch added |
---|
Fixed a long-standing bug in DeleteMap::TranslatePositionAbsToRel?().
comment:7 Changed 12 years ago by
Owner: | changed from sphery to Jim Stichnoth |
---|---|
Type: | enhancement → Developer Task |
comment:8 Changed 12 years ago by
Component: | MythTV - General → MythTV - Video Playback |
---|---|
Milestone: | unknown → 0.26 |
comment:14 Changed 12 years ago by
Milestone: | 0.26 → unknown |
---|
The only remaining piece here is to remove the temporary INFOWITHCUTLIST action, which can happen after we implement progressbar visualization of cutlist (and other types of marks) visualization.
comment:15 Changed 11 years ago by
Milestone: | unknown → 0.26.1 |
---|---|
Resolution: | → Fixed |
Status: | assigned → closed |
Added v2 patch, which follows Mike Dean's suggestions to make both the pre- and post-cutlist information available to the themer, and to introduce additional keybindings to allow seeking with and without taking the cutlist into account.
TV Playback keybindings added are ARBSEEKNOCUTLIST, INFONOCUTLIST, JUMPFFWDNOCUTLIST, JUMPRWNDNOCUTLIST, SEEKFFWDNOCUTLIST, and SEEKRWNDNOCUTLIST.
Theme fields added are rawposition, rawdescription, rawplayedtime, rawtotaltime, rawremainingtime, and rawbehindtime. (The last one is probably unnecessary.)
Network Control "PLAY SEEK" commands added are FORWARDNOCUTLIST, BACKWARDNOCUTLIST, and POSITIONNOCUTLIST. (It might be cleaner to add an optional NOCUTLIST argument to the existing FORWARD/BACKWARD/POSITION arguments.)
Note that the patch makes the default behavior to seek and display taking the cutlist into account. This is based on the assumption that if the user went to the effort of creating a cutlist, then she probably wants to see the effect in most parts of the user experience.