[FFmpeg-devel] [PATCH] Add matroska codec id S_TEXT/WEBVTT for WebVTT streams.

Walter wwong5545 at gmail.com
Sun Feb 7 10:23:57 EET 2021


I understand. Would it be better to roll back the patch to just adding S_TEXT/WEBVTT to list of recognized codec ids for now?
-------- Original message --------From: Andreas Rheinhardt <andreas.rheinhardt at gmail.com> Date: 2021-02-07  3:08 AM  (GMT-05:00) To: ffmpeg-devel at ffmpeg.org Subject: Re: [FFmpeg-devel] [PATCH] Add matroska codec id S_TEXT/WEBVTT for WebVTT streams. Walter Wong:> Added the codec id S_TEXT/WEBVTT in order to bring ffmpeg generated files> closer to the matroska spec. The list of matroska codec ids was also> rearranged to push the old codec id (D_WEBVTT/SUBTITLES) to the bottom of> the list so that S_TEXT/WEBVTT is the default codec id for new mkv files> with webvtt subtitles.> > Fixes ticket #5641: http://trac.ffmpeg.org/ticket/5641> --->  libavformat/matroska.c | 14 +++++++++----->  1 file changed, 9 insertions(+), 5 deletions(-)> > diff --git a/libavformat/matroska.c b/libavformat/matroska.c> index 7c56aba403..1128c96451 100644> --- a/libavformat/matroska.c> +++ b/libavformat/matroska.c> @@ -60,16 +60,12 @@ const CodecTags ff_mkv_codec_tags[]={>      {"A_VORBIS"         , AV_CODEC_ID_VORBIS},>      {"A_WAVPACK4"       , AV_CODEC_ID_WAVPACK},>  > -    {"D_WEBVTT/SUBTITLES"   , AV_CODEC_ID_WEBVTT},> -    {"D_WEBVTT/CAPTIONS"    , AV_CODEC_ID_WEBVTT},> -    {"D_WEBVTT/DESCRIPTIONS", AV_CODEC_ID_WEBVTT},> -    {"D_WEBVTT/METADATA"    , AV_CODEC_ID_WEBVTT},> ->      {"S_TEXT/UTF8"      , AV_CODEC_ID_SUBRIP},>      {"S_TEXT/UTF8"      , AV_CODEC_ID_TEXT},>      {"S_TEXT/ASCII"     , AV_CODEC_ID_TEXT},>      {"S_TEXT/ASS"       , AV_CODEC_ID_ASS},>      {"S_TEXT/SSA"       , AV_CODEC_ID_ASS},> +    {"S_TEXT/WEBVTT"    , AV_CODEC_ID_WEBVTT},>      {"S_ASS"            , AV_CODEC_ID_ASS},>      {"S_SSA"            , AV_CODEC_ID_ASS},>      {"S_VOBSUB"         , AV_CODEC_ID_DVD_SUBTITLE},> @@ -100,6 +96,14 @@ const CodecTags ff_mkv_codec_tags[]={>      {"V_VP8"            , AV_CODEC_ID_VP8},>      {"V_VP9"            , AV_CODEC_ID_VP9},>  > +    /* These codec strings for webvtt seem to be depreciated from the Matroska> +       spec, but it might be useful to keep them for compatibility for older> +       files. These are at the bottom so they get matched after S_TEXT/WEBVTT. */> +    {"D_WEBVTT/SUBTITLES"   , AV_CODEC_ID_WEBVTT},> +    {"D_WEBVTT/CAPTIONS"    , AV_CODEC_ID_WEBVTT},> +    {"D_WEBVTT/DESCRIPTIONS", AV_CODEC_ID_WEBVTT},> +    {"D_WEBVTT/METADATA"    , AV_CODEC_ID_WEBVTT},> +>      {""                 , AV_CODEC_ID_NONE}>  };>  > You are not fixing #5641 at all; in fact your comment suggests that youmisunderstand the problem: There are two ways to mux WebVTT, one forWebM (using these "D_WEBVTT_*" values and one for Matroska. The WebM wayof doing WebVTT is the older one of the two and it is horrible, but itis the one that is supported. There was a patchset last year [1], [2] tofix this and implement the Matroska way, yet the author never sent afollow-up.Your patch would make the muxer write the packets in the WebM way, yetthe header would claim it to be the Matroska way. This is worse than itis now.- Andreas[1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2020-June/264695.html[2]: https://ffmpeg.org/pipermail/ffmpeg-devel/2020-June/264693.html_______________________________________________ffmpeg-devel mailing listffmpeg-devel at ffmpeg.orghttps://ffmpeg.org/mailman/listinfo/ffmpeg-develTo unsubscribe, visit link above, or emailffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list