mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-15 13:35:30 +00:00
[QUESTION] How do you save DVD closed captions with position data? #503
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @cgarz on GitHub (Sep 18, 2019).
OS: Linux (Archlinux)
Version: 0.88 (git bc3d729e30a751feb9b854a54c085f0e81a99134)
When extracting closed captions (EIA-608) from a DVD everything works fine but they do not display in the correct positions like they do when played from the DVD.
I have tried with ASS and SSA which should have the ability to position the subtitles but they are just placed at the bottom like SRT.
Does anyone know how to accomplish this?
@cfsmp3 commented on GitHub (Sep 18, 2019):
The format g608 accurately shows the screen positioning. May or may not be useful to you though.
@cgarz commented on GitHub (Sep 18, 2019):
Thanks I've tried that now and looking at it in a text editor it definitely works to preserve the position data.
However I am unable to use it as a subtitle in mpv.
I am also unable to find any information about it via Google. Let alone a player or tool that can read or convert it.
Is there any way to convert this to SSA or some other position capable format?
@cfsmp3 commented on GitHub (Sep 21, 2019):
You could create a quick converter - text file to text file is quite
easy. This is a format we invented for a specific user that needed to
have access to the 608 grid, which is what g608 gives you, but
definitely unsupported by any other tool or player, so if it contains
what you need it's up to you to take it to the next step I'm afraid.
On Wed, Sep 18, 2019 at 12:43 PM cgarz notifications@github.com wrote:
@cgarz commented on GitHub (Sep 21, 2019):
I was considering writing a quick python script but after a lot of searching I was able to find a solution with ffmpeg.
Looking at the ASS file it spits out It would have taken me quite a while to get it working nicely.
If anyone is interested the command was as follows:
[...] | ffmpeg -f lavfi -i 'movie=pipe\\:0[out0+subcc]' -map s subs.assstdin is from dvd_copy.
For a file instead of a pipe you can change
pipe\\:0to the filename.My only problem then was I couldn't work out how to change the style of ffmpegs output and didn't want to use a GUI editor so I found pysubs2 and used it like so:
python -c "import pysubs2; s=pysubs2.load('input.ass'); s.styles['Default'].borderstyle=1; s.styles['Default'].outline=2; s.save('output.ass')"This solves my issue but it would still be great to have ccextractor support something playable with position data.
@cgarz commented on GitHub (May 19, 2021):
I've had a chance to try that now. Playback of scc in mpv works and matches the embedded CC's style exactly which is fantastic! Many thanks!
Also thanks for linking up all these related issues, they were an interesting read.
@cgarz commented on GitHub (May 28, 2025):
Alec from Technology Connections reminded me of this today in his video.
Does anyone know what was linked up in that now deleted comment? Why was it even deleted?
@vikramcs You still about?
@yukichigai commented on GitHub (Aug 1, 2025):
I too was reminded of this issue by that same video. I'm curious if the missing info would simplify this process.
As it is the SCC format definitely works as an initial extraction format for conversion to more commonly supported formats while preserving the positioning information. Unfortunately the current GUI doesn't offer that as a selection in the output format dropdown, so it has to be done via the CLI. A little cumbersome but doable.
@yukichigai commented on GitHub (Dec 6, 2025):
In case anyone else is still looking into this, I have created a Perl script which converts SCC and G608 to SSA, ASS, and a few other formats that preserve positioning. It's here on GitHub under the name yyC2Swp. Ideally I would like to get this functionality added to CCExtractor's SSA/ASS output directly, but in the meantime there's another option for people who are using players that don't have SCC support.
@cfsmp3 commented on GitHub (Dec 26, 2025):
This question has been answered through the discussion above:
--out=sccfor SCC output which preserves positioning and is playable in mpv and other players--out=g608for the raw 608 grid format (requires conversion)Native positioned ASS/SSA output is tracked as a feature request in #1726, and we're planning to implement this soon.
Closing as answered - please reopen if you have follow-up questions.