Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-plugins-bad
gst-plugins-bad
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,013
    • Issues 1,013
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 200
    • Merge Requests 200
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-badgst-plugins-bad
  • Issues
  • #1223

Closed
Open
Opened Feb 24, 2020 by Tim-Philipp Müller@tpm🐠Owner0 of 3 tasks completed0/3 tasks

mpegts: scte: double-check splice time realm

There might be something a bit awkward API wise about the splice start/stop timestamps that need to be passed to gst_mpegts_scte_splice_in_new() and gst_mpegts_scte_splice_out_new() and how they interact with the buffer timstamps and what gets muxed into the mpeg-ts stream by mpegtsmux.

In particular, there seems to be a mismatch when e.g. x264enc is used, which shifts buffer timestamps by an hour in order to be able to express negative dts.

It would seem that an application/user who wants to create SCTE sections for such a video stream would need to know about this offset, which seems awkward especially if the encoder is chosen at runtime.

Needs more investigation to see what's actually going on here:

  • what pts/dts does mpegtsmux actually put into the MPEG-TS stream in the case where they are shifted? (running time or buffer pts/dts? possibly the latter)
  • does mpegtsmux transform the SCTE section splice in/out timestamps in any way? (think not other than convert to mpegts timescale)
  • should SCTE splice in/out timestamps perhaps be in running time and then the muxer converts them to the video encoder timeline automatically? (if needed, that is, depends on answers to the above)
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: gstreamer/gst-plugins-bad#1223