微博 微信

Hao4K影音

[技术教程] 10C-整改字幕流程b_字幕规格的演变历程

6 天前 2106 1 |只看大图 回帖奖励 |倒序浏览 |阅读模式

Yuran 帖主

6 天前

10C,其中的10, 是连载篇的序号。后缀C,意指 三板斧的第三斧(与 ass外挂字幕的、DIY 实验有关)。) T3 i% _# L6 I0 @
本人原创实验心得,非专业,非权威。谨供参考。全部归纳/整理到:论坛淘帖专栏中,链接在此
( H3 w; ?8 Y% Z' [* m$ i) ?: x7 j+ r9 E
; N- J8 r% c0 n/ G5 Y- e

1 s2 H& H: M4 Q8 U6 q3 M) |8 u  这是本人自习/归纳的备忘录,便于随时随地的复习/重温(否则,知识爆炸的冲击,记不住)!5 u. V& m. i: y2 Q
0 K8 ], v( ~# {7 B* a: q
  前一篇说到,网络下载的字幕,解决了音唇同步的时间问题(提前32秒)。 接着转存,获得 ass 的格式。6 Q. N0 _. M& f
也就是 0000.ass (必须改名,下载的字幕,还有非法字符,给程序检索带来隐患)。
3 l7 p( \0 s+ ]7 I, K7 P
; ^2 J0 b0 F, Q! n3 q2 d. T但还有一项流程,必须确切落实! 那就是,双语字幕的、文本文件的编码格式,需要自动识别,以及转码!
* U& K6 `- q: y7 G3 O' T! R' V! U2 Y# w

) K5 k/ ?$ G4 j
( V& d  r% x- Q# a  以前我讲过,所有的一切,是为了家庭影院的影音器材,而不是PC!
8 ]9 r- ]+ ?5 H: X" J) n(用PC看片,仅仅是验片、制片阶段的过渡期。毕竟,PC显示器,仅支持HDR,但很难做到杜比视界的规格。- Z3 Q& o* [; e
再者说,7.2.6声道的、全景声音效,也不是为PC布置的)。
/ ?6 i' [) D8 Y5 I! V1 t0 m: ]2 t3 a6 ]6 z6 P# j0 o
因此,Yuran所整改的字幕,必须针对家庭影院的影音器材(比如:杰科的G5300) ,做针对性的改良/优化。
: ~4 s: G# _0 H6 y: c  N杰科G5300 4K播放机,具备下述功能!# P1 a  [, F1 t  Y* @1 x

8 h, x, C- T% |  {: J
  • 越狱升级的机器目前支持最常用的文本字幕格式 :*.srt,*.ass,*.ssa
  • 支持外挂字幕的大小、位移、时移、颜色等特效调整洁,同样支持 ASS 字幕几乎全部特效指令参数;
  • 支持同一部电影支持多达 32 条不同字幕切换;)
  • 字幕文件名字不需要与电影名字一样;
  • ANSI、UNICODE、UTF8、BIG5 自动识别;
  • 支持普通 2D 字幕,切换左右 3D 格式;
  • 支持更换字幕显示字体。
    " N: k( c  f% j

( \4 c8 g$ g% T) j' ?  Y5 v但为全局考虑,Yuran这里的字幕,都必须采用:同一个标准,那就是 UTF-8  !!' J3 _4 c; r$ z: a- O
也许,我的考量,有些瑕疵。实践中检验、逐渐改良吧...
5 |# o  L! f( ~* v: ^  o
0 t& ?0 s. \/ i; f4 K
/ G. X0 S( g) ^$ Z- c0 s7 j
5 F$ y! V, d' Z! P/ H) D/ u  \+ C) rANSI?!虽是扩展的ASCII字符编码,但太旧了。许多老版本的集成开发环境,才会用:ANSI编码,但已过时!
$ H4 U6 n  {1 {: x而且,ANSI的兼容性也不是很好。多国语言的字符应用中,会有乱码的串扰。
: X, T9 P5 W& x( @4 F4 k我国最开始,公布的是: GB2312 (能与ASCII兼容),但也有短板:
, V: J' O& }& Q/ K  C" @在人名、古汉语等方面,所出现的罕用字,GB 2312无解。0 [3 n$ I2 p7 p! N

9 I) t: a* e! b8 N5 w& R! N6 y因此,又有 GBK(拓展生僻字)、以及 GB 18030(增加少数民族字体)等汉字字符集的出现。
) E) [1 w' @; v/ X& w+ \2 ]+ i$ O. d( C  Y' L8 w

: [8 [+ d, _, N# ?) A# s
7 w' @* X! r& a* ?3 q6 q实质性的革新,是Unicode(把所有语言,都统一到一套编码里,解决了乱码问题) 。# t7 U3 E( L+ ?; J3 F" n
Yuran找到的、希伯来文的srt字幕(ANSI编码格式),用Win10 记事本打开,乱码!9 q- \9 J; f8 S0 M0 y/ g2 l( Y

9 w1 e1 T: T# E  G+ r aaa.jpg # D/ [; ?4 C, @& g. h6 r" L
8 c! s; W4 c& r
再用Win10 记事本,打开另外一个、Unicode(UTF-8编码)srt同名字幕 ,完美显示(希伯来文)!0 S2 L. V+ J' C  ]9 d9 j
. e: `3 h0 l5 J. T
uuu.jpg ( q+ M, m# x  ~, o' t2 h8 T: i

9 Y8 |' G/ O* s; I% M0 E用记事本,查看字幕, Unicode( UTF-8)模式 ,相对方便一些(无需调整编码规范,可谓:所见即所得)!
# e: C" L* x, w  o+ o6 v0 [7 {再举例:未做任何改动,就用记事本,分别打开3 r" C7 X) O* \( I9 P7 O; ]! ]
6 y- J8 D$ H& M/ _: Q* ?. O5 ^
  • Unicode(UTF-8 , 带BOM) 的韩文字幕;
    - A% t& w* b) [; ?2 J1 g9 H4 C$ E
  • ANSI的日文字幕;' n' Y1 h' {! J1 d8 P+ m) e: S

4 Z1 ~( }" w) \5 n4 p" Q3 M+ B ccc.jpg / m: K! v/ [# W* ?+ l6 \

8 L/ t" {. l2 W事已至此,选哪种,作为整齐划一的规范?     不言自明了吧...
# J1 d3 g# \7 x. F, a9 l% `! x; u# \! k" \3 P, G1 G& V
(我这里,多年前的旧机器,oppo BDP-93 还是 95 ?限于当时的条件,只能用ANSI的...) |6 [1 J8 }$ X9 W& Q& M: p, N
现如今,今非昔比! 杰科的 G5300 ,完美支持 Unicode 字幕(UTF-8 、或 UTF-8 带 BOM)!! @4 i8 w' Q% J6 w, d

2 \0 a" U  `* K: s0 B) p" j) n
$ t" y8 H7 z  g! c1 I6 _% b5 Z* d: D! w4 @) u
但是,起初的Unicode编码,有些浪费。5 |( S4 W& l* K9 B
假设字幕中,英文字符占大多数,用Unicode编码,就比ASCII多一倍的存储空间。不利于存储和传输!
0 h# Y  @) ]% i' J3 i+ L& Z& D0 Y! A
最实惠的、Unicode字符集的编码(精简)方案,当然是UTF-8 了(可以上网查询),提高了传输效率。- S# y0 q7 }1 q' r; ^' ^( T- ]: q: m

6 Y/ P, `4 b# ^3 F# s; P2 m  G3 y& t; v 090.png
3 E' P3 ?- X( I( O5 Z8 w" L
4 U$ x( ^, k4 A4 [而且,向下兼容!(旧的 ASCII编码,实际上可以被看成:是UTF-8编码的一部分。 好处是:) X) j+ K" c! w$ V! r. Z1 l
大量只支持ASCII编码的、历史遗留的软件,仍然可以,在UTF-8编码的环境下、继续工作...)
: R! }/ h; u' z2 M( V, ~
$ p9 X: m! F) x" B' b) c* B实际案例:
- v$ g" a- W* F4 z' g现如今的、网页制作、外挂字幕等制作时,无论是计算机的内存,还是网络服务器,都采用Unicode 。  o8 |0 Z; z* X! O4 [+ [
只是在保存文件,或传输到网络浏览器时,全都转码,实行UTF-8的标准!
2 g- K$ p4 D8 i) v1 N! m' Y- ~# \5 c
因此,在Yuran这里,为家庭影院所“内定”的、字幕的编码标准,是中规中矩的 UTF-8  。
# x/ S3 t) V' ~4 a& U, }9 }5 y(何为“中规中矩”? 去网上,搜寻、下载双语ass字幕,大多都是:UTF-8 的... )( w! x0 n  f) s
  ?; I( `/ |3 W8 Z' [

' Q- i6 E1 c5 u# p; Z. T+ m; M; H  U& P
: ~2 L! o8 s: S. g( m5 T; |万一搞到的外挂字幕,是ANSI的呢?7 Z1 Q5 c$ O& K
* ^6 Z3 ]1 v$ b- K: ~$ J9 Q9 v
很有意思,这回实验用的(前篇所介绍的)srt字幕,恰恰是 ANSI 的。- V: b3 i; _& M4 l4 K+ ?
(人工)识别、转换,也不难, Windows的记事本、还有UltraEdit ,都能搞定!8 `/ ^+ ^, k3 e7 p- x8 W$ g

0 k! f* q0 s! m* m% u. h- f ansi0000.jpg ; Y4 Y- Z; l7 }" w; o' A* \
, Z0 b( W. F+ R3 E, [1 @# U& m% n
用鼠标点击上下图,都能看到:原文件(0000.ass)的编码格式,ASNI (GBK)。
& Q9 x4 L. Y$ {( n) ]8 ]3 V, P1 X0 @% Y
ansi0001.jpg
" S4 t6 h! R$ B/ O5 i2 @. w0 @3 v1 p$ n) A
若想 【另存为】其它文件名时,可以更改、转换编码格式(ANSI、UTF-8、带BOM的UTF-8、UTF-16等)...! ]! A  X( H  I  ~9 B1 u% {

/ H' R# ]$ h, Q$ S& @; F+ n, E0 Z* p/ c( i& s$ E" j  F
, i0 h7 Y/ V6 r. ]4 t; n3 v
即使是UTF-8,也分为:
% t7 ~$ ]6 S' W. h  u; Z7 _
/ m9 `5 V6 O4 Y
  • 带 BOM的UTF-8 ;
  • 不带BOM 的UTF-8;
    2 g& H: n3 q. P1 E% q
/ V+ c& D) h2 F; A% k" I9 X/ _
Yuran目前的选择,应该是:不带 BOM 的 UTF-8 (规避兼容性方面的问题)!
: X+ S6 _5 K+ Z+ S
2 y8 G4 l' j3 u! q7 D/ a7 F
6 x6 a2 ^! s1 s- y  E; d- h4 u7 x+ ~/ _
问题在于,我们要面对的、可能是成百上千的UHD BD片源,相应的外挂字幕,也得一一对应。1 H/ Q+ I' B, e
总不能,人工检索、转码吧。/ h& W$ w8 q/ t: g
5 Y- K* o- l5 g8 |/ Q' N0 W
于是,艰巨的任务,摆在面前。 如何见招拆招,使用DIY编程的手段,实现字幕甄别、转码的自动化?下篇再讲。/ H& p  Q' J7 b+ V) c+ K" E

本帖被以下淘专辑推荐:

回复

使用道具 举报

全部回复1

imagay 发表于 6 天前

imagay 2

6 天前

提供了一个不错的思路
回复 支持 反对

使用道具 举报

   发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
白银玩家
:
未填写

主题

帖子

积分1991

  • 在线客服

  • 返回顶部