共享資源:定時文本
Media community: Audio and video requests · Featured media (candidates) · Media help · Media of the Day · Timed Text · Video info · Video2commons–Upload · Video cut tool
考量到名稱相近或相同,你可能是在找共享資源:文件標題
定時文本(TimedText)是一个自定义的維基媒體共享資源的命名空间,用于容纳隱藏字幕、或翻譯字幕的文本,使其与其他媒体(例如音频或视频文档)相关联。本页旨在解释该功能的概念和使用方法。
隱藏字幕 (Closed captioning, CC)和翻譯字幕都是显示在电视、视频屏幕或其他视觉显示器上的文字的一種進程,以提供额外的或是作為說明的信息。 這两者通常都是作为某个演出,在它出現時的音频部分的转录(可能是逐字记录、也可能是以已编辑好的形式),有时甚至還會包括某些非语音元素的描述。 这有助于听障人士和失聰人士,并为非母语人士提供了理解多媒体文件内容的途径。
使用方法
也可参见翻譯字幕與隱藏字幕。
有隱藏字幕的视频和音频片段的缩略图会出現覆蓋的CC图标。 打开播放器后,您所使用语言的翻譯字幕会自动被启用。 您可以在播放器的控件中找到 图标来切换语言、开关翻譯字幕或更改翻譯字幕的格式。
定时文本可用于任何以时间顺序呈现的媒体:
- 音频文件
- 无声视频(默劇)
- 口语视频
- 演示一个概念或某物如何运作的动画
实际案例
- Commons:Timed Text Demo Page重点介绍几个定时文本示例的頁面。
- TimedText:Krazy Kat Bugologist 1916 silent.ogv.de.srt, 德语字幕
- TimedText:Krazy Kat Bugologist 1916 silent.ogv.en.srt, 英语字幕
- TimedText:Wikipedia Edit 2014.webm.pl.srt
寻找
TimedText:
prefix, add the text after it, e.g. TimedText:Elephants_Dream.ogv
).TimedText:Elephants_Dream.ogv.en.srt
) to create a TimedText page - see Commons:Timed Text{{Allpages|102}}
會以 來呈現,並列出命名空间102號中的所有页面。
共享資源需要一种針對特定语言查找定时文本文件的方法;下列語言正困擾於搜索功能的限制(例如:它不會显示所有匹配的結果;它包含有不匹配的內容;它需要有正则表达式的支持)。 搜索也包括會去一些不同语言的定时文本的.srt文件:
English • German • French • Portuguese • Russian • Swedish • Ukrainian • Polish • Indonesian
其他帮助用户查找定时文本的方法:
- {{Closed captions}} 會显示出文件所有可用的隱藏字幕文件的链接,可將它放在某个媒体页面及其討論页面上。
{{special|Prefixindex/TimedText:{{PAGENAME}}.|stripprefix|1|subtitles}}
會生成一個指向所有相关的定时文本文件的链接(范例)。- Commons:Timed Text/search by lang會显示出所指定的语言中所有定时文本文件的搜索链接,這对共享資源页面、分类、和討論页面有用。
标记和查找需要翻譯字幕的视频
{{Captions requested}}模板可用于标记视频需要字幕。该模板會将其添加到Videos needing subtitles分类中,这样某個人就可以看到哪些视频、哪些用户或作者已要求提供视频的文字記錄。
此模板和类别属于Commons:WikiProject Deaf及其姐妹项目元維基:維基失聰人和Wikipedia:WikiProject Deaf的范围內。
寻找需要翻譯字幕的视频
查找此类视频的方法之一是根据首选起始语言打开 Category:Files with closed captioning 中的一个子类别,然后使用Help:FastCCI(位于页面右上方),去包含没有想要的目标语言字幕的视频。
示例
- 要查找有英文字幕的视频以进行翻译,请访问Category:Files with closed captioning in English。
- 然后,单击FastCCI箭头打开子菜单,选择 "在此类别中但不在......"。
- 在文本框中,根据您首选的目标语言输入相应的类别:
- 德语请输入
Files with closed captioning in German
- 法语请输入
Files with closed captioning in French
- 俄语请输入
Files with closed captioning in Russian
- 德语请输入
等等..
定时文本的讨论
命名空间用于讨论各自的定时文本页面,但也可用于链接和分类定时文本页面。
維護工作
上载
要上传已创建的字幕文件,请在计算机上用文本编辑器(如記事本)打开文件,然后将文本复制到定时文本的名称空间中的新页面,该页面应与视频的文件名和语言代码相匹配。
製作
共享資源使用SubRip (.srt) 檔案格式來製作隱藏字幕和翻譯字幕。您可以用多種方式建立這些檔案。
為現有的共享資源檔案製作翻譯字幕「頁面」
選項1:在檔案的共享資源檔案頁面中(推薦使用)
您可以使用在共享資源檔案上任何合適的多媒體檔案的頂端的「定时文本」連結。
選項2:直接在媒體播放器中
使用維基媒體HTML5媒體播放器工具列上的CC按鈕,您可以選擇可用的翻譯字幕,或開啟翻譯字幕編輯器為影片製作翻譯字幕。
選項3:建立一個空白頁(適用於進階使用者)
您總是可以直接在共享資源中使用模板 TimedText:[Common_File_Name.extension].[language].srt 來建立頁面,其中 [Common_File_Name.extension] 是檔案名稱,而 [language] 則是語言的ISO代碼。
範例: 想要增加翻譯字幕到Elephants_Dream.ogg
,您可以為英文翻譯字幕建立TimedText:Elephants_Dream.ogg.en.srt
頁面,或為法文翻譯字幕建立TimedText:Elephants_Dream.ogg.fr.srt
頁面。
擷取現有的翻譯字幕來匯入字幕
從 DVD 製作翻譯字幕
要複製DVD現有的字幕,您可以使用SubRip等等軟體。然後,您可以將它們複製貼上wiki共享資源的翻譯字幕頁中。
使用YouTube製作翻譯字幕
YouTube允許那些擁有YouTube帳戶的使用者們從任何上傳的檔案製作翻譯字幕。請記住,語音辨識是自動化的且會產生意想不到的結果。最好是將檔案的文字記錄上傳到YouTube。這會提供更好的結果。然後,您可以將它們複製貼到wiki共享資源的翻譯字幕頁面中。
製作翻譯字幕的步驟(可以在這裡找到步驟的視訊教學)。
- 上傳檔案。(多媒體檔案必須同時包含視訊軌,但您可以自由選擇空白的視訊軌或任何其他視訊軌)。
- 上傳時,在「顯示更多」功能表下將檔案的視訊語言設定為適當的語言。
- 或是,在上傳之後,在特定影片的詳細資訊中或在YouTube Studio的導覽中選擇「翻譯字幕」 。
- 按一下「新增」或「新增語言」。
- 您可以用三種方式的其中之一來新增翻譯字幕:
- 上傳一個適當格式的文字記錄。
- 複製並貼上文字記錄。
- 觀看影片時手動輸入。
- 然後字幕就會被整合到視訊中。
- 在「編輯調速」檢視中,從三個點(...)選單下的翻譯字幕選單下載 .sbv 檔案。
- 將 .sbv 檔案的內容轉換為 .srt 檔案。有多種線上工具可協助您完成此步驟。
- ffmpeg是開放原始碼的一個選項 (指引)。
- 上傳.srt檔案至維基媒體共享資源的視訊的對應頁面。
從YouTube下載翻譯字幕
您可以從YouTube(可能還有其他幾個視訊網站)上的視訊下載翻譯字幕,像是這樣:
- 安裝yt-dlp
- 執行
yt-dlp --list-subs url
(將url改為youtube的url) - 執行例如
yt-dlp --write-subs en --sub-format vtt url
(將url改為youtube的url) - 也許srt翻譯字幕也是可用的,所以您應該用它而不是用vtt字幕,或者您可以一次下載所有字幕
- 使用FFmpeg(請參閱:#Convert YouTube Subtitles to Timed Text format)或是這個之類的web UI工具,將vtt翻譯字幕(或您所擁有的格式)轉換為srt翻譯字幕。
- 然後您可以將這些貼到WMC上視訊的TimedText頁面上
如果您使用video2commons工具,可以勾選「匯入翻譯字幕」,但這對vtt翻譯字幕 (phab:T368298)不起作用,因此對於這些影片,您也需要執行上述匯入翻譯字幕的步驟。
機器轉錄
您可以使用開放原始碼工具SoniTranslate更簡單快速地產生機器轉譯字幕。 如果您能檢查一下這些內容,尤其是如果您也使用該工具進行其他語言的機器翻譯,那就更好了。 例如,它可能會將年份輸出為長文本而非數字、或者弄錯人名。 如何使用這個工具在Help:AI video dubbing中有說明。 [1] 如果沒有現有的翻譯字幕要匯入,這可能是加入定時文本最快的方法了。 即使您沒有GPU,轉錄也通常只需要幾秒鐘,這取決於視訊有多長。
這些定時製作的字幕非常適合用來為其他語言的視訊配音,而手動製作的字幕通常不會這樣。您可以編輯翻譯字幕,然後將其儲存為 srt 檔案,並將其作為工具的輸入,讓它以其他語言製作音訊或翻譯字幕。
使用whisper.cpp製作翻譯字幕
截至2024年[update],Whisper語音辨識系統AI模型[1]是目前最先進的語音轉錄模型,可使用Python或whisper.cpp在本機執行。 與早期的Vosk模型不同,它們也會產生標點符號,使其輸出更接近高品質的人類轉錄。 同樣地,您應該根據影片檢查AI產生的翻譯字幕,並修正錯誤、加上標點符號、檢查人名和地名的拼字是否正確、檢查事實和數字等。 AI翻譯字幕作為初稿非常有用,但通常也會包含一些人類轉譯者不會犯的愚蠢錯誤。
whisper.cpp的一項優點在於它特別針對在CPU而非GPU上執行進行最佳化 (所以如果您有AMD顯示卡、因此沒有輝達的CUDA,它就特別有用)。 但CUDA和(在Mac上的)Metal也受支援,因此它可以輕鬆適應不同的硬體配置。 另一個優點是它不需要安裝任何外部的相依,也就是不需要Python或PyTorch,因為它是用C++寫成的,造就它的下載量比Python的機器學習環境小很多。
一些視訊編輯和隱藏字幕GUI軟體現在已內建Whisper功能: 開放原始碼的範例包括視訊編輯器Kdenlive (自23.04版起;需要Python) 和 Subtitle Edit (Python或C++都可以用來執行Whisper模型)。
但直接執行命令列版本的whisper.cpp來建立SRT檔案也不是太困難,只要您的作業系統有C語言編譯器、make等工具來編譯它:
首先,使用例如 ffmpeg 擷取視訊的音軌,並將其轉換為 16 kHz 取樣率:
ffmpeg -i some_video.ogv -ar 16000 -ac 1 -c:a pcm_s16le audio.wav
接下來,編譯whisper.cpp並下載模型 (針對英文內容最佳化的基本模型約為140MB;「中型」也可處理其他語言,約為1.5GB),然後開始轉換,例如:
./main -m models/ggml-base.en.bin -f audio.wav -t 8 -pc -osrt
這將使用8個CPU核心,並在同一目錄中建立一個名為audio.wav.srt
的SRT檔案。 在識別過程中,字詞會以顏色標示信心度(綠色=非常確定、紅色=非常不確定),因此您可以快速查看模型是否有問題。 如果較小的模型產生無法使用的輸出,您可以嘗試較大的模型,例如中型,這會較慢,但會產生較好的結果。
您也可以從其他語言翻譯,例如在選項中加入"-l fr -tr"
就可以將法文音訊翻譯成英文。
將YouTube的翻譯字幕轉換為定時文本格式
SBV翻譯字幕
如果您從YouTube翻譯字幕匯出SBV格式,您可以使用ffmpeg將翻譯字幕檔案轉換成共享資源所使用的SRT(SubRip)格式。這項功能也解決了將YouTube字幕轉換到共享資源時常出現的重疊問題。
ffmpeg -fix_sub_duration -i input.sbv output.srt
XML翻譯字幕
本節說明如何將 XML YouTube翻譯字幕轉換成 SubRip (srt) 格式,也就是 維基媒體共享資源所使用的 TimedText 字幕格式。
若是:
- YouTube影片有某些語言的翻譯字幕 (例如:我製作的YouTube影片 有英語、俄語和利維卡累利阿語三種語言的翻譯字幕)、
- 這個影片已上傳至維基媒體共享資源(例如,這個檔案),
- 您要複製YouTube翻譯字幕到在共享資源上相同的視訊。
那麼:
- 下載XML格式的翻譯字幕,將YouTube視訊的ID放在URL結尾: http://video.google.com/timedtext?hl=en&lang=en&v=__youtube_video_ID__
- 安裝Ruby。
- 下載Ruby程式,將YouTube的XML格式視訊翻譯字幕轉換成SubRip格式。
- 執行此程式並將XML檔案轉換為.SRT檔案。
- 將.SRT檔案的內容複製然後貼到維基媒體共享資源上視訊的對應頁面。
一般提示
將對話內容以 srt 格式輸入,此為一個字幕區塊:
1 00:00:20,000 --> 00:00:24,400 這裏有字
此為二個字幕區塊:
1 00:00:20,000 --> 00:00:21,500 這裏還有字 2 00:00:21,500 --> 00:00:24,400 不只
若女孩說「這裏還有字」,就是在男人說「不只」的時候。寫下這裏還有字。不只
會是個錯誤的寫法:
-這裏還有字 -不只
但若有足夠時間在各自區塊中顯示內容,應依此方式呈現:這裏還有字
接著:不只
(字幕編輯器會將過短的區塊標示為紅色,屆時您便會知道需要將它們合併)
總之,每個發出新聲音的人物或事物都用短橫線表示:例如先是嬰兒哭、 然後是警鈴大作:
-[嬰兒哭聲] -[警鈴大作]
但如果這些區塊相距很遠,則應該各自成為自己的區塊:[嬰兒哭聲]
然後:[警鈴大作]
喧鬧聲等等
如您所見,我們使用方括號來描述聲音。
我們建議您使用方括號,因為現今方括號比較流行,但過去也有人使用圓括號,並將文字大寫,或在《老友记》的情況中: [2] 他們使用帶有空格和斜體的圓括號( clicking )
[3] 現在這種情況已經很少見了 -- 請不要這樣做。
在過去較常採用的另一種做法是:當需要標示人物姓名時使用名字: 詞語
(譯註:阿貓:你好啊)、而使用括號標示聲音。 如今,括號被用於兩者。 有些人用圓括號表示名字、方括號表示聲音(或反過來) [4] [5] 為什麼?你為什麼要這麼做?這實在讓人很混亂。
角色
請逐字記錄每個角色的台詞。若角色說話過快,您可能需要摘要其內容,以便觀眾能及時閱讀。 若你無法在聲音沒有聲音的情況下說明說話者是誰,請在括號內標註姓名,並緊接其後寫下該角色所說的話。 [Elsa] 我辦不到!
若角色不在畫面中或透過電話說話,請將其姓名置於括號內,並將其發言以斜體標示。 若觀眾尚未知曉角色姓名,請試著避免直接透露姓名,可改為標註性別或職業;亦可採用簡化名稱如「Raymond Holt隊長」轉譯為Ray或Holt,務求字幕能及時顯示。
若真的需要添加角色名稱,請勿在每個字幕區塊都加上,僅需在角色首次發言時添加。像是這樣:
[角色名] 對話內容
或若為電話對話,則是[電話另一端的名字] 對話內容
。
後續的字幕區塊無需再標註人物姓名:
這裏是更多對話內容
添加字詞
正如你可以摘要角色所說的話,你也可以添加些詞語使其更通順。 例如在《摩登家庭》的〈當場抓包〉這一集中,克萊兒說:「怎麼回事?門鎖。真丟臉。」但字幕卻顯示為「這是什麼?門鎖。真丟臉。」請自行決定是否要添加字詞。
字幕區塊的間隙
若某個角色說「等等,我聽到什麼聲音」,字幕應顯示為「等等,我聽到什麼聲音」。 若某個角色說「等一下[1.5秒]我聽到什麼聲音。」,請將其字幕處理為:第一個字幕區塊顯示等一下
,第二個字幕區塊顯示我聽到什麼聲音。
但兩者之間不需留間隙,除非角色等待時間更長。
有時人們會說:「但是……這樣做效果會更好。」這句「……」之間會停頓片刻。 字幕應如此顯示:但這樣會更有效
,並讓字幕區塊在你剛聽到「這」時出現在螢幕上。 這樣就不會破壞他們即將說的話。 若「但」與「這」之間間隔較長(例如超過0.6秒),請將「但」獨立成字幕區塊並持續顯示至「這」出現;緊接其後的區塊(無間隙直接接續)應顯示:這樣會更有效。
數字符號與首字母縮略字
由於全大寫字母用於標示事物,因此不應用於表示尖叫。 但我曾見過《老友记》用斜體字標示整段文字來「真正」強調吼叫的語氣。 [6] 那麼,這也是一種選擇,但我未曾再見過有人用過了。
當有人使用全大寫字母表示首字母縮略字(如NASA)或首字母縮寫詞(如ADHD)時,請保持全大寫格式。儘管如此,您仍無法判斷對方是否逐字母拼寫(首字母縮寫詞)或省略字母(首字母縮略字)。 《老友记》為解決此問題,採用在所有縮寫詞首字母間加圓點的方式處理。 [7]但這種做法現在已不常見了。 源自首字母縮略字的自創詞也應使用大寫字母,例如在《心碎高中》中,學生們參加名為「性知識輔導課(Sexual Literacy Tutorial)」的課程,但他們私下稱之為「蕩婦課(sluts)」。 即使原文說的是「sluts」,但字幕上寫的是「我要去SLT's」。 我不同意,我會把它改成「我要去SLUTS(蕩婦課)」。你高興就好。
若有人說「我付了十三美元」,請寫「我付了$13」;若對方表示「這花了我一萬美元,但如果我去找別人這可能就要二萬美元」,你可寫這花了我$10,000,但如果我去找別人這可能就要$20,000。
或這花了我$10,000,但如果我去找別人這可能就要20。
– 不確定哪個較好。
若某個角色談到維基百科,然後他說出「W P 冒號 mos」,請寫WP:MOS
,因為這個你如何輸入的內容。
但若角色說出「斜線」(slash)這個字,情況就變得棘手了。 在《荒唐分局》的萬聖節特輯中,角色們說「我要成為我們物種裏最棒的刑警」,但字幕卻譯作「我要成為最棒的刑警/物種」,即使他們說的是「slash」。 在後期季數的字幕標註方式有所不同,若劇中出現「slash」一詞,字幕便會標註該字,建議採用新標註方式。
斜體
語氣不同的字應該用斜體,特別是當他們在暗示什麼的時候。 請遵循MOS:Italics來瞭解哪些類型的媒體應該使用斜體。 如果您需要使用斜體,但主角不在螢幕上,而且字句已經是斜體,只要將您想要放在斜體的字句,以非斜體中放在裏面即可(反向)。
音樂
主角所唱的歌詞應該用「♪」、Unicode U+9834、或Alt+266A字元來包圍。您也可以使用♫、Unicode U+9835、或Alt+266B,例如:
1 00:00:20,000 --> 00:00:24,400 ♪ 帶我去看球賽 ♪(譯註:這是美國球場第七局上攻守交換時全場必唱名曲)
當主角開始在音樂上說話時,您應該停止為音樂加翻譯字幕,這樣觀眾才能讀出主角在說什麼。
標記
SRT格式唯一支援的標記是
- 粗體 – <b> ... </b>
- 斜體 – <i> ... </i>
- 底線 – <u> ... </u>
提醒:不支援Wikicode格式。
国际化
翻譯字幕以視訊的原始語言轉錄到Timed Text檔案後,就可以依下列方式翻譯成其他語言:
- 在編輯模式中開啟原始語言的 Timed Text 檔案,例如英文的TimedText:Elephants Dream.ogv.en.srt ,然後複製整個頁面。
- 在位址列中,將「en」換成您所選擇的語言代碼,例如「fr」,然後將原始文字貼到新頁面中。
- 觀看原始視訊,然後將文字翻譯成您的語言。
- 儲存新頁面後,帶翻譯字幕的視訊應該會載入頁面;您可以檢視視訊以檢查翻譯字幕的時序。
- 在討論頁 [[Category:Timed Text in Language Name|Language Name]] 加入分類連結。例如,請看一下TimedText talk:Elephants Dream.ogv.fr.srt。
維基百科有關定時文字或翻譯字幕主題的條目
這些是與「若不是」Q844253:定時文字「就是」Q204028:翻譯字幕的條目。
- Dansk: Undertekster
- Deutsch: Untertitelung
- Ελληνικά: Υπότιτλοι
- Esperanto: Subtekstoj
- Español: Subtítulo
- Français : sous-titrage
- Interlingua: Subtitulos
- Italiano: Sottotitolo
- 日本語: 字幕
- 한국어: 자막
- Македонски: Толкување
- Nederlands: Ondertiteling
- Norsk bokmål: Undertekster
- Português: Legenda
- Русский: Субтитры
- Slovenščina: podnaslovi
- Svenska: Textning
- Українська: Субтитри
- 粵語: 字幕
- 中文: 字幕
- Bahasa Indonesia: Teks Berwaktu
链接
本節需要擴充
如何將隱藏字幕與多媒體檔案關聯?
- 重定向可避免重複的內容,例如:TimedText:Elephants Dream (high quality).ogv.pt.srt會重定向至現有的TimedText:Elephants Dream.ogv.pt.srt 。這可確保隱藏字幕模板顯示字幕檔案的正確檔案名稱(這對電影剪輯可能很重要)。
- {{Closed captions}} 的參數是另一個替代品
- 定時文字功能需要更多支援;
- 歸類:無法對定時文字頁面本身進行分類,但可以對定時文字的討論進行分類。
一個可能的歸類方案是:
[[:Category:File formats]] + [[:Category:Media types]] | [[:Category:Timed Text]] + [[:Category:Legend in German]] | [[:Category:Timed Text in German]] + [[:Category:Legend in French]] | [[:Category:Timed Text in French]] + [[:Category:Legend in English]] | [[:Category:Timed Text in English]]
相關類別:Category:Files with closed captioning
参见
- {{Captions requested}}
- SubRip
- Help:命名空間列出所有共享資源的命名空間
- Category:Video, 視訊相關媒體的基礎類別
- Category:Videos, 視訊檔案的基礎類別
- 美國國家字幕研究所 (NCI).
- W3C定時文本首頁
- 失聰和重聽觀眾的字幕, 國家聽力與其他溝通障礙研究所 (NIDCD).
參考資料
- ↑ a b AI — 人工智慧
- ↑ 當我說那些替《老友记》加字幕的人們時,我是指那些在結尾寫著
[字幕由字幕中心WGBH教育基金會]
提供的劇集。 - ↑ 《老友记》的"The One With The Two Parties"一集
- ↑ 東京迪士尼海洋的視障人士無障礙設施 + Hello Kitty世界與史努比博物館!
- ↑ File:Fred Rogers testifies before the Senate Subcommittee on Communications, 1969.ogv
- ↑ 《老友记》的"The One With Phoebe's Birthday Dinner"一集
- ↑ 《老友记》的"The One with the Prom Video"一集