How bernhardu/dvbcut-deb works
DVBCUT is a Qt editor for selecting MPEG transport-stream segments and exporting them as a single MPEG file. The workflow opens a recording, loads or builds a picture index, lets the user navigate and mark ranges, then exports selected ranges while mostly preserving encoded data and recoding boundary frames as needed. README and sampled code support the indexing, playback, and muxing flow; several editor capabilities are documented or visible in UI strings, but their detailed wiring is not shown in the excerpts.
Main entry points: dvbcut.cpp Cut editor · mpgfile.cpp MPEG reader · muxer.h Muxer interface · main.cpp Application entry
Components 21
Editing and preview
- Cut editor
src/dvbcut.cpp - Cut markers
src/eventlistitem.cpp - Frame preview
src/imageprovider.cpp - Frame comparison
src/differenceimageprovider.cpp - Audio playback
src/playaudio.cpp
MPEG processing
- Input buffer
src/buffer.cpp - MPEG reader
src/mpgfile.cpp - Transport parser
src/tsfile.cpp - Program parser
src/psfile.cpp - Stream data
src/streamdata.cpp - Picture index
src/index.cpp - Frame handling
src/avframe.cpp
Export and output
- Muxer interface
src/muxer.h - MPEG muxer
src/mpegmuxer.cpp - Libav muxer
src/lavfmuxer.cpp
Application support
- Application entry
src/main.cpp - User settings
src/settings.cpp
Other components
- Editor user
- MPEG recording
- MPEG export
- MPlayer process
Connections 26
- Editor user → Application entry: launches
- Application entry → Cut editor: creates
- Application entry → Input buffer: opens input
- MPEG recording → Input buffer: read by
- Input buffer → MPEG reader: provides bytes
- MPEG reader → Transport parser: probes TS
- MPEG reader → Program parser: probes PS
- Transport parser → Stream data: appends payload
- Program parser → Stream data: provides streams
- Cut editor → MPEG reader: opens media
- Cut editor → Picture index: uses index
- Picture index → MPEG reader: reads stream
- Cut editor → Cut markers: manages markers
- Cut editor → Frame preview: requests frames
- Frame preview → MPEG reader: decodes images
- Cut editor → Frame comparison: compares frames
- Cut editor → Audio playback: plays audio
- Cut editor → MPlayer process: starts playback
- Cut editor → User settings: reads options
- Cut editor → Muxer interface: exports ranges
- MPEG reader → Frame handling: recodes boundaries
- MPEG reader → Muxer interface: writes packets
- Muxer interface → MPEG muxer: selects built-in
- Muxer interface → Libav muxer: selects libav
- MPEG muxer → MPEG export: writes MPEG
- Libav muxer → MPEG export: writes MPEG