added webvtt support

This commit is contained in:
Charles Duco
2019-01-11 17:11:52 +01:00
committed by Thilo Graf
parent 5f71277215
commit 99844a02dd
2 changed files with 9 additions and 2 deletions

View File

@@ -28,7 +28,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
@@ -41,6 +40,7 @@
#include <sys/poll.h>
#include <pthread.h>
#include <sys/prctl.h>
#include <stdint.h>
#include <ffmpeg/mpeg4audio.h>
@@ -463,6 +463,8 @@ static char *Codec2Encoding(int32_t codec_id, int32_t media_type, uint8_t *extra
return "S_TEXT/SRT";
case AV_CODEC_ID_SUBRIP:
return "S_TEXT/SUBRIP";
case AV_CODEC_ID_WEBVTT:
return "D_WEBVTT/SUBTITLES";
default:
ffmpeg_err("Codec ID %d (%.8lx) not found\n", codec_id, codec_id);
// Default to injected-pcm for unhandled audio types.
@@ -2538,7 +2540,8 @@ int32_t container_ffmpeg_update_tracks(Context_t *context, char *filename, int32
#endif
get_codecpar(stream)->codec_id != AV_CODEC_ID_SUBRIP &&
get_codecpar(stream)->codec_id != AV_CODEC_ID_TEXT &&
get_codecpar(stream)->codec_id != AV_CODEC_ID_SRT)
get_codecpar(stream)->codec_id != AV_CODEC_ID_SRT &&
get_codecpar(stream)->codec_id != AV_CODEC_ID_WEBVTT)
{
ffmpeg_printf(10, "subtitle with not supported codec codec_id[%u]\n", (uint32_t)get_codecpar(stream)->codec_id);
}

View File

@@ -232,6 +232,10 @@ static int Write(Context_t *context, void *data)
{
fprintf(stderr, "{\"s_a\":{\"id\":%d,\"s\":%lld,\"e\":%lld,\"t\":\"%s\"}}\n", out->trackId, out->pts / 90, out->pts / 90 + out->durationMS, ass_get_text((char *)out->data));
}
else if (!strncmp("D_WEBVTT/SUBTITLES", Encoding, 18))
{
fprintf(stderr, "{\"s_a\":{\"id\":%d,\"s\":%lld,\"e\":%lld,\"t\":\"%s\"}}\n", out->trackId, out->pts / 90, out->pts / 90 + out->durationMS, json_string_escape((char *)out->data));
}
else
{
subtitle_err("unknown encoding %s\n", Encoding);