Troubleshooting DVBcut: Common Problems and FixesDVBcut is a lightweight, focused tool for cutting and splitting MPEG-2 Transport Stream (TS) files recorded from DVB broadcasts without re-encoding. Because it operates on packet-aligned streams and depends on accurate timestamps and PSI/SI tables, some users encounter issues when files are slightly corrupted, have variable bitrate quirks, or come from varied capture setups. This article walks through common problems, diagnostic steps, and practical fixes so you can get reliable results with DVBcut.
1) DVBcut won’t open a file or reports “invalid transport stream”
Symptoms
- DVBcut refuses to open the .ts file or shows “invalid transport stream” errors.
- The program may crash or immediately close the file.
Why it happens
- The TS file may be truncated, have missing packet alignment, or contain corrupt packets from a problematic capture process.
- File headers or PSI/SI tables (PAT/PMT) could be damaged, so DVBcut can’t map streams.
- The file may not actually be a standard MPEG-2 TS (e.g., raw encoder container or another format renamed to .ts).
How to diagnose
- Inspect the file with a TS analysis tool (e.g., TSDuck, tsanalyzer, or ffprobe) to see packet continuity errors, missing PAT/PMT, or wrong sync bytes.
- Check file size and creation source — a small file from a failed record often lacks stream headers.
Fixes
- Use ffmpeg to copy the stream and rewrite headers (no re-encode) — often repairs minor header issues:
ffmpeg -err_detect ignore_err -i input.ts -c copy repaired.ts
- Use TSDuck to repair continuity/corruption:
tsp -I file input.ts -P continuity -O file repaired.ts
- If file truly isn’t TS, convert to a standard TS or remux from original recorder or try extracting the MPEG streams with tools like ProjectX (for DVB-S/T with codec specifics).
- If file is truncated at the start, try concatenating with a small valid TS containing PAT/PMT headers:
cat small_valid.ts corrupted_start.ts > merged.ts
Then open merged.ts in DVBcut and trim the leading filler after cutting.
2) Cuts are slightly off (sync points not exactly at requested times)
Symptoms
- Cut points end up a few frames or a few seconds off from where you set them.
- Resulting file has audio/video out of sync around cut boundaries.
Why it happens
- DVBcut works on packet and GOP boundaries — it can only cut at positions that preserve MPEG-2 group-of-pictures (GOP) and packet alignment to avoid re-encoding.
- The original TS has variable GOP lengths or sparse I-frame placement, so the nearest safe cut point may be earlier or later than the requested timestamp.
- Timestamp (PTS/DTS) drift or broken PCR can also cause visible offset.
How to diagnose
- Inspect the GOP/IPB structure using tools (ffprobe -show_frames or MPEG stream analyzers).
- Look for large gaps between I-frames or irregular PCR/PTS values.
Fixes
- Use DVBcut’s “keyframe” or “GOP-aligned” cutting options and accept the nearest safe cut; manually fine-tune by zooming in on the timeline to find nearest I-frame.
- If exact frame-accurate cuts are essential, re-encode just around the cut points (smart rendering): extract small segments around the cut, re-encode them, then remux. Example with ffmpeg:
ffmpeg -i input.ts -ss START -to END -c:v mpeg2video -c:a copy segment_fixed.ts
Then rejoin segments using copy mode.
- Repair PCR/PTS drift with tools like TSDuck or ffmpeg remuxing:
ffmpeg -i input.ts -c copy -copyts -fflags +genpts remuxed.ts
3) Audio/video A/V sync problems after cutting
Symptoms
- Video and audio drift or jump at or after cut points.
- Entire output file is slightly ahead/behind audio.
Why it happens
- Cutting on packet boundaries without preserving PTS/DTS relationships can break sync.
- Missing or corrupted PCR (Program Clock Reference) values in the original stream.
- Mixing multiple program streams or tracks with different timestamp bases.
How to diagnose
- Play the original file and the cut file with a player that can display PTS/DTS/PCR (e.g., VLC’s codec info, ffprobe).
- Check continuity counter errors and PCR discontinuities with TSDuck.
Fixes
- Use DVBcut’s “fix PTS” or “reset timestamps” when re-joining segments if available.
- Remux with ffmpeg regenerating timestamps:
ffmpeg -i cut.ts -c copy -fflags +genpts fixed_ts.ts
- If audio drift persists, re-encode audio to align A/V (convert to AC-3 or AAC then remux):
ffmpeg -i cut.ts -c:v copy -c:a ac3 -b:a 192k resynced.ts
- Ensure you cut at GOP/I-frame boundaries to minimize complex timestamp issues.
4) Only one audio track shown or audio track missing
Symptoms
- DVBcut displays only one audio stream while the original contained multiple (e.g., multiple languages).
- Output file has no audio.
Why it happens
- PAT/PMT tables may list only one audio PID or PMT is corrupted.
- Some captures map audio PIDs as separate programs or use unusual stream types not recognized by DVBcut.
- DVBcut project settings may be configured to keep only selected tracks.
How to diagnose
- Use ffprobe or TSDuck to list all PIDs and streams:
ffprobe -show_streams input.ts
- Inspect PMT table with TSDuck:
tstabdump input.ts
Fixes
- Remux with ffmpeg to ensure all streams are present:
ffmpeg -i input.ts -map 0 -c copy remux_all.ts
- Manually add/select audio PIDs in DVBcut’s stream/project settings if supported.
- If audio PIDs are out-of-spec, extract streams by PID and remap:
ffmpeg -i input.ts -map 0:pid -c copy audio_only.ac3
- If audio missing entirely, check source recorder settings and re-capture if necessary.
5) Program list empty or wrong programs shown
Symptoms
- DVBcut shows no programs in the file, or the program names/PIDs don’t match expected channels.
Why it happens
- Missing or corrupted PAT/PMT/SI tables in the TS file.
- The TS contains elementary streams without program metadata (raw mux).
- Some recorders strip PSI/SI to save space.
How to diagnose
- Run TSDuck’s tstabdump or ffprobe to inspect PAT/PMT presence.
- Look for PSI table errors and continuity issues.
Fixes
- Recreate PMT/PAT with TSDuck or remux into a new TS with generated PSI:
tsp -I file input.ts -P analyze -O file repaired.ts
or more specifically, use tools that rebuild PSI/PMT.
- Concatenate a valid TS containing PAT/PMT headers to the start of the file (see earlier example) and then remove the added header content after cutting.
- If recorder stripped metadata, remap streams manually by PID in DVBcut or use ffmpeg to create a new container with explicit -map arguments.
6) Crashes or UI freezes when working with large files
Symptoms
- DVBcut becomes unresponsive or crashes when opening or manipulating very large TS files (multiple GBs).
Why it happens
- DVBcut loads index/timestamp data into memory; very large files can exceed available RAM or trigger slow operations.
- Older builds may have memory leaks or inefficiencies.
How to diagnose
- Monitor system RAM and CPU while opening the file.
- Check DVBcut version; search changelog for large-file fixes.
Fixes
- Split the large file into smaller chunks with a fast copy (no re-encode), then process each chunk:
split -b 1000M bigfile.ts part_
Or use ffmpeg to chop into hour-long pieces:
ffmpeg -i bigfile.ts -c copy -f segment -segment_time 3600 -reset_timestamps 1 out%03d.ts
- Update DVBcut to the latest stable release or build from source if fixes are available.
- Increase system swap or RAM if feasible.
7) Problems saving project or lost cuts after reopening
Symptoms
- Saved DVBcut project loses cut markers or shows different timestamps when reloaded.
- Project file (.dvbcuts or similar) seems corrupted.
Why it happens
- Version mismatches between DVBcut instances can change project serialization format.
- Relative vs absolute timestamp handling differences across platforms or DVBcut builds.
- Crashes during save or incomplete writes.
How to diagnose
- Inspect the project file (it’s often plain text or XML) to see if markers exist.
- Compare DVBcut versions used to create vs reopen the project.
Fixes
- Always use the same DVBcut version for editing a project; upgrade both environments to the same release.
- Export cut lists as plain text (CSV or EDL) where possible to preserve cut points; re-import when needed.
- Keep backup copies of project files before large edits.
8) Exported files won’t play in target devices (set-top boxes, TVs)
Symptoms
- Cut files play on desktop players but fail on TVs, set-top boxes, or are rejected by media servers.
- Device reports “unsupported format” or video stalls.
Why it happens
- Some devices require strict PSI/PMT, specific stream types (e.g., MPEG-2 video + AC-3 audio), or specific bitrate/packetization.
- Tools that alter timestamps or introduce non-standard stream types cause incompatibility.
- DVBcut’s output may not set the exact container flags expected by consumer devices.
How to diagnose
- Check the codec and stream parameters with ffprobe for differences (codec, profile, level, audio codec).
- Compare working files from the device with your output to spot differences.
Fixes
- Remux and ensure compatible codecs/container. Example to force AC-3 audio and MPEG-2 video:
ffmpeg -i cut.ts -c:v copy -c:a ac3 -b:a 192k device_ready.ts
- Rebuild PSI/PMT with TSDuck to match device expectations.
- If a device supports only single-program TS, ensure output is a single program stream.
9) Subtitle or teletext tracks missing after cut
Symptoms
- Subtitles or teletext present in original are absent from the cut output.
Why it happens
- Subtitles/teletext may use separate PIDs not preserved by default; DVBcut project settings might skip them.
- Some tools ignore DVB teletext/subtitle streams during remux/copy.
How to diagnose
- List all PIDs and stream types using ffprobe or TSDuck.
- Check DVBcut’s stream selection settings.
Fixes
- Explicitly map subtitle/teletext PIDs when remuxing:
ffmpeg -i input.ts -map 0 -c copy output_with_subs.ts
- Use tools that understand DVB teletext and can preserve or convert them to DVB-sub or SRT.
10) Unexpected bitrate or file size increase after saving
Symptoms
- Output file is significantly larger than the original after saving from DVBcut.
Why it happens
- Re-encoding instead of stream-copying was triggered, possibly due to incompatible cut points.
- Audio may have been transcoded to a higher bitrate or different codec.
- Some tools insert padding or rebuild streams in a less efficient container.
How to diagnose
- Check codecs and bitrates of original vs output with ffprobe.
- Inspect DVBcut’s export settings to see whether copying or re-encoding was selected.
Fixes
- Ensure “stream copy” / “no re-encode” option is used when saving.
- If re-encode is necessary, choose equivalent or lower bitrates:
ffmpeg -i input.ts -c:v mpeg2video -b:v 4M -c:a ac3 -b:a 192k output.ts
Quick troubleshooting checklist (summary)
- If file won’t open: remux with ffmpeg or use TSDuck to repair headers.
- If cuts are off: cut at GOP/I-frame boundaries or re-encode locally around cuts.
- If A/V out of sync: regenerate timestamps with ffmpeg (-fflags +genpts) or re-encode audio.
- If streams missing: list PIDs with ffprobe/TSDuck and remap with ffmpeg -map 0.
- If large-file instability: split file into smaller segments or update DVBcut.
Useful commands (recap)
- Remux and regenerate timestamps:
ffmpeg -i input.ts -c copy -fflags +genpts remuxed.ts
- Repair minor errors:
ffmpeg -err_detect ignore_err -i input.ts -c copy repaired.ts
- Split into hourly segments:
ffmpeg -i bigfile.ts -c copy -f segment -segment_time 3600 -reset_timestamps 1 out%03d.ts
- List streams/PIDs:
ffprobe -show_streams input.ts
- Re-encode small segments around cut points:
ffmpeg -i input.ts -ss START -to END -c:v mpeg2video -c:a copy segment_fixed.ts
If you want, tell me the exact symptoms and provide a short ffprobe or tstabdump output and I’ll point to the most likely fix.
Leave a Reply