mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-04 05:44:53 +00:00
[BUG]Can't extract multi-track subtitles from .mp4 #349
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 @Pennyliu999 on GitHub (Nov 23, 2017).
CCExtractor version (using the --version parameter preferably) : 0.85
In raising this issue, I confirm the following (please check boxes, eg [X]):
My familiarity with the project is as follows (check one, eg [X]):
Necessary information
-autoprogramVideo links
https://s3-ap-southeast-1.amazonaws.com/tortoise/test.mp4
@saurabhshri commented on GitHub (Jan 5, 2018):
Hi @Pennyliu999 ! Thanks for reporting and providing the sample.
At present, apart from AVC tracks, we're only handling
clcphandler code which is an Apple standard for "Closed Caption Track". The current code completely ignoressubt( Subtitle track handler defined by ISO ),sbtl(QuickTime Subtitle track handler defined by Apple) andtext(Text handler code defined by 3GPP). This is most likely the result of unavailability of samples while working on MP4 support.The sample you provided has subtitle tracks as per QuickTime Subtitle track standards.
Since it's ignored, CCExtractor reports :
The version of GPAC used by CCExtractor is outdated and only supports clcp. It's possible to bring the support of other handlers as well without updating GPAC - but that solution will really be very "hacky" and I don't think we should go that way.
The latest GPAC has proper support for all the handlers, but upgrading to latest GPAC is not going to be direct. Currently in CCExtractor, we're using
GF_ISOM_MEDIA_CAPTIONSas media type which has been completely removed in the current GPAC version. We now have media types for each handler ( @cfsmp3 this is probably why you were getting invalid MP4 error).I think the best solution will be to update to latest GPAC and re-write our MP4 stuff. This will cover all areas and make things easier. Maybe we can do this after the 0.86 release or maybe we can start the work already in a different branch.
This will also form a nice task for Code-In students and upcoming GSoC students.
Relevant links :
596d3220a3 (diff-ff30135695fca05b5b003585b27c8277)@saurabhshri commented on GitHub (Jan 5, 2018):
Also @Pennyliu999 , if you've more such (and different MP4) samples, we'd be very happy if you could share them! :) They will really help.
@cfsmp3 commented on GitHub (Jan 5, 2018):
@saurabhshri but I'm getting the errors processing the same file that used to work, and it's a GPAC error, not a CCExtractor error...
@Pennyliu999 commented on GitHub (Jan 6, 2018):
@saurabhshri Thanks for looking into this issue, I will upload more .mp4 files with different content and subtitles. Just for your information, if you can run Mac OSX (even in a virtual machine like vmware), you will be able to use a free app named "subler" to add mulit-track subtitles to .mp4 files just like Apple do (or like I do)
@Hori75 commented on GitHub (Jan 9, 2018):
I see that the commit is in 0.7.1 version. Will try to update gpac to 0.7.1 instead of 0.7.0-release version.
@saurabhshri commented on GitHub (Jan 9, 2018):
@Pennyliu999 Thanks a lot, much appreciated! :) We'll add them to our regression platform. cc: @canihavesomecoffee .