From patchwork Tue Mar 19 17:39:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marth64 X-Patchwork-Id: 47223 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:958e:b0:1a3:31a3:7958 with SMTP id iu14csp1823269pzb; Tue, 19 Mar 2024 10:39:49 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWkSSsGadXzxoL1bmpb1F0CbWAGXmB4fVOnoWqzEpd93+tGfnaCaklPW+9drb2UgEbdOfNs1APTNa7M2WkXBo7nZQAmQeF72e7UFA== X-Google-Smtp-Source: AGHT+IEnbs7EootEPK9lI1T+wmf0B/tRVV/QlA5l5XbiKmgNgLAwIvIj6YwK2Pmvz9se5Oie112c X-Received: by 2002:a05:6402:1f07:b0:568:b490:7d80 with SMTP id b7-20020a0564021f0700b00568b4907d80mr9157205edb.18.1710869989121; Tue, 19 Mar 2024 10:39:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1710869989; cv=none; d=google.com; s=arc-20160816; b=JJI315oGfNiqzwm8WipyOcP+PT0dfCk5dCjK38+WrThhu1ScTu6cs4V8ftRRZF0WXE pI8vpMsUvm0FnMF3dVhXab+Ahbb26EFIGX3h7A71TdEb/CKgamMkzGOjr5AhPsRpM+vv FFAGmNdXipn8pyvORBCN14qt754Q9o91yo9RiU2QeWJfrF1YgW9ceuBPvLOfIwD9P+jo q6Ww46YS96NBDXH7Bdpd3z3ZnbwrI52tmIWYZkooLuloH8h3N2WvPUUm+n6lRKyhJHYj Htj/OIlYv6bjiXDsujlhlQjGK+HNyzj4I5Wwqba2O9nLWKuluq5jKlYXrRNUATAp9umA WbnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=UheoLox8/XGbB2WFQ2Uq+mrspyrDxYj89h1f0z14fbE=; fh=PlWMzmI9LD2qGS7ipLrQl8z0iaQTLQLHzoGuXcBzpCg=; b=Uzy31P68YklOn+JT3FB8VihUP8sxfYI32p5VhrxYwdZfn/q1ynUQjeg0qfj5vz9mQV 7WPSZccXAeK9e9t7BUPGjLIxd3YTkn8XUcyEtkz+Y6gT3xRdqe9VJnEzpGeiJBzNky7t dYfCUBL8SxdqzvGjz3D15vlOpwa45EEqqTM06pIjf6SnldgFxGWtGexpV15Nn9dcWZSP DgzskF2Fm12Cb2yhWpAsqWlk/Jx3Jn7THqCV2agyaRtVYyp1wpRJXp5oeklzTcUTF9S7 zOR6lOemTWMbiaXr2bPKsZC54yKKTrSS/TP5IXm6f22GMlQQcry48sitZktW6+/NgtMX H2/w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@proxyid.net header.s=google header.b=fVIcNKmn; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ds2-20020a0564021cc200b0056b9ae7fb1esi666365edb.667.2024.03.19.10.39.48; Tue, 19 Mar 2024 10:39:49 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@proxyid.net header.s=google header.b=fVIcNKmn; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3B10068D40A; Tue, 19 Mar 2024 19:39:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yb1-f225.google.com (mail-yb1-f225.google.com [209.85.219.225]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 05C2068CC4D for ; Tue, 19 Mar 2024 19:39:18 +0200 (EET) Received: by mail-yb1-f225.google.com with SMTP id 3f1490d57ef6-dc745927098so5082124276.3 for ; Tue, 19 Mar 2024 10:39:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxyid.net; s=google; t=1710869957; x=1711474757; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CtW3nms3sU4ltYbGU8XAhx/yt7JlNCSczzXuHtkIgXA=; b=fVIcNKmnOEtgETx/GQ/p4PGuAXcpuTdQI3gKJg9s1WBL0c9Uft3eNNQLv4v97ecmNj NqCWseXQeN6ZBgsL1eBjw68bV09Cw/7iH9K9i2guZkz2lJWFz3FNrbktEAVev/Yg7oTO Ujmm42pUo9V4iJSeDxK23Kz2NP/FXob3ITm6CTpmjH/9OgnvWXsgzjpgCCDigxROL4tf zlU+3Klim6rz1KLxOUW4/NwVdxa1jqnAzwfXxYfpw52Ree1D3PU09ND2NpnALR+DlKuM v+PjK2cVNQdHjiUjbtMvRquVmbaymJYxd/Ll6fOAkTfegD/rIw0MmIuH8eKClKOq4ZJs USNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710869957; x=1711474757; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CtW3nms3sU4ltYbGU8XAhx/yt7JlNCSczzXuHtkIgXA=; b=UN+zSWAliS60x9c13/P8lYqNesxztOI29HixIgAB7GquNjyz2klQ2n7rqzrRhThjhQ ppR6Jb4WlGbPSySKe5lDgUFI4iuBhP6wbhXELK8ntZyYaMTT8Wh88nne63GdfROfB1ha BCIDmBxa0Wv1LsjwxksFzFQS/ajwI+EA8tWFO/7ck1bpvBls+ZHpdzKn+62Ycr2PuoZJ C3h6ScMe4sbN7VRoDbWznSTKb+kKRdMGgwrcJiZQvsop/0vp4ysmQKcVHZFHLs6Z05bV sn+Io7iMZdp32xBTNzDIrax1wmatV8UUUwiKvY9VXCwnN28IomCebzZkxAdmU5qfcRyb qy6w== X-Gm-Message-State: AOJu0YxVF2H4H1CIFsbGdJ5yMd30iNbJHZJLRpnhXFeb/3ytc5lmANyA qR7/wCaDQjxOAbD4ax32n1NimRtCgyO0Qx3wGU3Em5tJxyPN1YqLBjG1WQ2TSgXeO0MMaoIOb2S ti9X6G8+RRClKG2ac2M0RH9+wVsM9j3exbRcaU3qH X-Received: by 2002:a25:106:0:b0:dcc:417f:a85c with SMTP id 6-20020a250106000000b00dcc417fa85cmr10973963ybb.50.1710869956808; Tue, 19 Mar 2024 10:39:16 -0700 (PDT) Received: from wsx-cc1-001.. (c-76-141-249-38.hsd1.il.comcast.net. [76.141.249.38]) by smtp-relay.gmail.com with ESMTPS id g14-20020a25db0e000000b00dcde1710318sm466988ybf.11.2024.03.19.10.39.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Mar 2024 10:39:16 -0700 (PDT) X-Relaying-Domain: proxyid.net From: Marth64 To: ffmpeg-devel@ffmpeg.org Date: Tue, 19 Mar 2024 12:39:12 -0500 Message-Id: <20240319173913.2754690-3-marth64@proxyid.net> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240319173913.2754690-1-marth64@proxyid.net> References: <20240319173913.2754690-1-marth64@proxyid.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v5 3/4] doc/muxers: refresh and simplify RCWT muxer documentation X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Marth64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: /bBnC6wgQgEy Signed-off-by: Marth64 --- doc/muxers.texi | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index d9dd72e613..9e8de3dc42 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -2987,16 +2987,15 @@ ogg files can be safely chained. @end table -@anchor{rcwt} +@anchor{rcwtenc} @section rcwt Raw Captions With Time (RCWT) is a format native to ccextractor, a commonly -used open source tool for processing 608/708 closed caption (CC) sources. -It can be used to archive the original, raw CC bitstream and to produce -a source file for later CC processing or conversion. As a result, -it also allows for interopability with ccextractor for processing CC data -extracted via ffmpeg. The format is simple to parse and can be used -to retain all lines and variants of CC. +used open source tool for processing 608/708 Closed Captions (CC) sources. +It can be used to archive the original extracted CC bitstream and to produce +a source file for later processing or conversion. The format allows +for interopability between ccextractor and FFmpeg, is simple to parse, +and can be used to create a backup of the CC presentation. This muxer implements the specification as of 2024-01-05, which has been stable and unchanged for 10 years as of this writing. @@ -3006,9 +3005,19 @@ No compatibility issues when processing the output with ccextractor have been observed as a result of this so far, but mileage may vary and outputs will not be a bit-exact match. -A free specification of RCWT can be found here: +A free specification of RCWT can be found at: @url{https://github.com/CCExtractor/ccextractor/blob/master/docs/BINARY_FILE_FORMAT.TXT} +@subsection Examples + +@itemize +@item +Extract Closed Captions to RCWT using lavfi: +@example +ffmpeg -f lavfi -i "movie=INPUT.mkv[out+subcc]" -map 0:s:0 -c:s copy CC.rcwt.bin +@end example +@end itemize + @anchor{segment} @section segment, stream_segment, ssegment