VideoHelp Forum

+ Reply to Thread
Results 1 to 17 of 17
Thread
  1. I have a number of video files that contain QuickTime 7 Pro TextTracks as subtitles and would like to find a future-proof way of being able to access the TextTrack data. This was all part of an old research workflow that added multiple TextTracks to each QuickTime video as subtitles. I'm currently still running macOS Mojave, since it is the last OS supporting QuickTime 7 (as it's a 32-bit app), but I need to update to the latest macOS (for several reasons).

    It's not really feasible to go through each video and extract the TextTrack and convert to subrip or whatever other format with QuickTime 7 Pro still installed I will also likely be receiving in the future new files in this format from collaborators who had been using this workflow. Is anybody aware of any tool other than QuickTime 7 Pro that is able to read and extract TextTracks from .mov-files? Some files also have multiple TextTracks (so they would need to be extracted as separate files).
    Last edited by jandavid; 3rd Dec 2021 at 01:28.
    Quote Quote  
  2. Member
    Join Date
    Feb 2006
    Location
    United States
    Search Comp PM
    Originally Posted by jandavid View Post
    I have a number of video files that contain QuickTime 7 Pro TextTracks as subtitles and would like to find a future-proof way of being able to access the TextTrack data. This was all part of an old research workflow that added multiple TextTracks to each QuickTime video as subtitles. I'm currently still running macOS Mojave, since it is the last OS supporting QuickTime 7 (as it's a 32-bit app), but I need to update to the latest macOS (for several reasons).

    It's not really feasible to go through each video and extract the TextTrack and convert to subrip or whatever other format with QuickTime 7 Pro still installed I will also likely be receiving in the future new files in this format from collaborators who had been using this workflow. Is anybody aware of any tool other than QuickTime 7 Pro that is able to read and extract TextTracks from .mov-files? Some files also have multiple TextTracks (so they would need to be extracted as separate files).
    try ffmpeg - https://superuser.com/questions/1329162/how-do-i-extract-a-quicktime-text-track-using-ffmpeg
    Quote Quote  
  3. Thank you for that link. That was helpful indeed. ffmpeg seems to be the way to go.
    The following (from that thread slightly modified) line almost gets me what I want:

    Code:
    ffmpeg -i test.mov -map 0:s:0 -c copy -f data QT-subtitles.txt
    It extracts the text correctly, however, the timestamps are lost. It only gives me the text of the subtitles.
    Any ideas how to include the timestamps?

    This is how the output looks when I extract it with QuickTime 7 Pro, what I hope to replicate:

    Code:
    [00:00:00.00]
    Text here text here text here 
    [00:00:01.12]
    Text here text here text here 
    Next line text here 
    [00:00:02.14]
    (although the exact formatting of the timecode doesn't matter all that much, I'll have to convert it into srt or some other format anyways later as long as the information is there ...)
    Quote Quote  
  4. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    If I am understanding correctly, ffmpeg is using the ".txt" as a clue of what format to output it in. Text format is likely to not be expecting to retain the timestamp. Try changing to ".srt" or ".vtt", etc.


    Scott
    Quote Quote  
  5. Thanks Scott, yes, both of these do export the subtitle text with timestamps ... but they eliminate all line breaks of multiline subtitles (it all shows up on one long line). Are you aware of any option to preserve these?
    Is there perhaps a way to specify the output text format directly with an option, not just via file extension? And what are the possible output formats that ffmpeg is able to produce?
    I'm still hoping to find a way to replicate extracting the texttrack from within QuickTime 7 Pro with as much of the original information preserved.
    Quote Quote  
  6. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Nahh, I don't do subs stuff often enough to know ffmpeg's facility for that. When I truly need to, it is usually one or 2 items, and I just fire up an old Win or Mac box that has QT7pro that I keep around for legacy stuff (probably haven't done but ahandful of MOV files in the last 3 years).

    Others should, I hope, be able to help you further.

    Scott
    Quote Quote  
  7. Is there anyone else out there who might be able to help?

    As mentioned above, the command
    Code:
    ffmpeg -i test.mov -map 0:s:0 QT-subtitles.srt
    does convert the QTText formatted to SubRip, but it eliminates any linebreaks and formatting.

    Is there any way to have ffmpeg output the original QTText as text in the original format?

    Code:
    [00:00:00.00]
    Text here text here text here 
    [00:00:01.12]
    Text here {bold} bold word {plain} here 
    Next line text here 
    [00:00:02.14]
    Any help much appreciated!
    Quote Quote  
  8. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Have you tried the webvtt format option? It seems close to what you want, and you could conceivably do a crossconvert again if necessary.
    Assuming it hasn't ALSO lost line breaks and formatting.

    Scott
    Quote Quote  
  9. Member
    Join Date
    Feb 2006
    Location
    United States
    Search Comp PM
    Originally Posted by jandavid View Post
    Is there anyone else out there who might be able to help?

    As mentioned above, the command
    Code:
    ffmpeg -i test.mov -map 0:s:0 QT-subtitles.srt
    does convert the QTText formatted to SubRip, but it eliminates any linebreaks and formatting.

    Is there any way to have ffmpeg output the original QTText as text in the original format?

    Code:
    [00:00:00.00]
    Text here text here text here 
    [00:00:01.12]
    Text here {bold} bold word {plain} here 
    Next line text here 
    [00:00:02.14]
    Any help much appreciated!
    see if this works - https://www.reddit.com/r/ffmpeg/comments/glxrbp/ffmpeg_one_hardcoded_subtitle_line_instead_of_two/
    Quote Quote  
  10. In response to Cornucopia: Just tried. Exactly same result as with srt. Also loses linebreaks and format

    In response to october262: That post assumes srt as input. If SubRip subtitles have linebreaks they are preserved, but my issue is that linebreaks in QTText/mov_text subtitles are not preserved in the srt output.

    Code:
    ffmpeg -i test.mov -map 0:s:0 -c copy -f data QT-subtitles.txt
    This command nicely extracts the text of the subtitles with all linebreaks etc. intact but without any timestamps.

    Code:
    ffmpeg -i test.mov -map 0:s:0 QT-subtitles.srt
    by contrast, includes timestamps, but puts all the text on one line.

    In short, ffmpeg is clearly able to recognize the way QTText is formatted including linebreaks as shown by using -c copy -f data, but I haven't figured out how to make it export all that exactly as is in a format that also includes timestamps of the subtitles. I even tried
    Code:
    ffmpeg -i test.mov -map 0:s:0 -c copy -f data QT-subtitles.srt
    but it's the same as with the .txt ending, it has no timestamps.

    (I'm going to post on that ffmpeg reddit too to see if perhaps someone there has an idea.)
    Last edited by jandavid; 8th Dec 2021 at 20:29. Reason: expanded response
    Quote Quote  
  11. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Sounds like that portion of ffmpeg is still a work in progress.

    I wonder if there is a way to combine the 2 attempt styles, to get the best of both?


    Scott
    Quote Quote  
  12. Originally Posted by Cornucopia View Post
    I wonder if there is a way to combine the 2 attempt styles, to get the best of both?
    Yes, exactly, I hope something like that will be possible ...
    Quote Quote  
  13. Got a sample video you can share, so folks could actually test stuff?
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  14. Yes, of course, here's a video which has three QT Text Tracks, all differently formatted: Original Video with QT TextTrack subtitles

    Subtitles start at 00:01:29. Here's a hardcoded version of the same version just FYI, for those who don't have QT7 anymore, also an example QT TextTrack (the third subtitle track in the video, so the fifth media stream #0:4) as it comes out when extracted and saved as text using QT7.
    Quote Quote  
  15. A simple:
    Code:
    ffmpeg -i "Interview QT SUBTITLED.mov" e:\test.srt
    gives me:
    Code:
    1
    00:00:00,000 --> 00:01:29,010
    
    
    2
    00:01:29,010 --> 00:01:33,480
    I live in India. I am an Indian girl and I will never abandon India! 
    
    3
    00:01:33,480 --> 00:01:34,140
    
    
    4
    00:01:34,140 --> 00:01:37,270
    My roots are in India and I don't want to leave either.
    
    5
    00:01:37,270 --> 00:01:37,300
    
    
    6
    00:01:37,300 --> 00:01:39,580
    and as long as the issue with my interview remains
    
    7
    00:01:39,580 --> 00:01:39,590
    
    
    8
    00:01:39,590 --> 00:01:42,520
    Today the entire press is here. Right now on YouTube they play that interview. 
    
    9
    00:01:42,520 --> 00:01:42,530
    
    
    10
    00:01:42,530 --> 00:01:44,440
    Not even one time did I say that 
    
    11
    00:01:44,440 --> 00:01:44,450
    
    
    12
    00:01:44,450 --> 00:01:47,150
    India is regressive and depressing. Please do your homework. 
    
    13
    00:01:47,150 --> 00:01:47,170
    
    
    14
    00:01:47,170 --> 00:01:49,760
    The status of women today in our country
    
    15
    00:01:49,760 --> 00:01:49,770
    
    
    16
    00:01:49,770 --> 00:01:51,360
    is regressive and depressing.
    
    17
    00:01:51,360 --> 00:02:04,610
    
    
    18
    00:02:04,610 --> 00:02:07,430
    Did you see? Today I tweeted (about it). 
    
    19
    00:02:07,430 --> 00:02:27,840
    
    
    20
    00:02:27,840 --> 00:02:27,880
    which seems like a proper srt file. (not including the text encoding since neither basic srt nor ffmpegs subtitle filter do support it from what I could see)
    -> keeping the formatting with ffmpeg isn't possible.

    Only repliable solution I can think of would be keeping a VM with an old MacOS High Sierra (which is the last where Quicktime 7 had all it's functionallity) with Quicktime pro on it.
    I doubt you will find someone in the FFmpeg team to write additional support for this abandoned format.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  16. Hi Selur, thanks much for testing, yes, the srt output works (at least that!, so at least there is some way to get at the data) ... I just hoped there was a way to keep at least linebreaks ...

    But yes, I'm also thinking, as a last resort the only solution is probably keeping a VM with High Sierra or Mojave (since you've mentioned High Sierra, is there any functionality that is no longer there on Mojave? I run QT7 on Mojave, and haven't come across any issues).
    Quote Quote  
  17. I don't really remember what was restricted, might be something trivial, but as far as I know High Sierra was the last version which fully could use Quicktime 7s functionalities.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote