Linux中編輯影片字幕
導讀 | 我作為一位世界電影和地區電影愛好者已經幾十年了。這期間字幕是一個必不可少的工具,它可以使我享受來自不同國家不同語言的優秀電影。如果你喜歡觀看帶有字幕的電影,你可能會注意到有時字幕並不同步或者說並不正確。你知道你可以自己編寫字幕並使得它們更完美嗎?讓我們向你展示一些 中的基本字幕編輯吧。 |
大概在 2012、2013 年我開始瞭解到有一款叫做 CCEextractor 的工具。隨著時間的推移,它已經成為我必不可少的工具之一,尤其是當我偶然發現一份內含有字幕的媒體檔案。
CCExtractor 負責解析影片檔案以及從閉路字幕closed captions資料中產生獨立的字幕檔案。
CCExtractor 是一個跨平臺的、自由開源工具。自它形成的那年起該工具已經成熟了不少而如今已成為 GSOC 和谷歌編碼輸入的一部分。
簡單來說,這個工具基本上是一系列 ,這些 以一種順序方式一個接著一個地給你提供提取到的字幕。
你可以按照本頁的 CCExtractor 安裝指南進行操作。
若安裝後你想從媒體檔案中提取字幕,請按以下步驟操作:
ccextractor
該 將會輸出以下內容:
$ ccextractor $something.mkv CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke. Teletext portions taken from Petr Kutalek's telxcc -------------------------------------------------------------------------- Input: $something.mkv [Extract: 1] [Stream mode: Autodetect] [Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto] [Timing mode: Auto] [Debug: No] [Buffer input: No] [Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No] [Target format: .srt] [Encoding: UTF-8] [Delay: 0] [Trim lines: No] [Add font color data: Yes] [Add font typesetting: Yes] [Convert case: No] [Video-edit join: No] [Extraction start time: not set (from start)] [Extraction end time: not set (to end)] [Live stream: No] [Clock frequency: 90000] [Teletext page: Autodetect] [Start credits text: None] [Quantisation-mode: CCExtractor's internal function] ----------------------------------------------------------------- Opening file: $something.mkv File seems to be a Matroska/WebM container Analyzing data in Matroska mode Document type: matroska Timecode scale: 1000000 Muxing app: libebml v1.3.1 + libmatroska v1.4.2 Writing app: mkvmerge v8.2.0 ('World of Adventure') 64bit Title: $something Track entry: Track number: 1 UID: 1 Type: video Codec ID: V_MPEG4/ISO/AVC Language: mal Name: $something Track entry: Track number: 2 UID: 2 Type: audio Codec ID: A_MPEG/L3 Language: mal Name: $something Track entry: Track number: 3 UID: somenumber Type: subtitle Codec ID: S_TEXT/UTF8 Name: $something 99% | 144:34 100% | 144:34 Output file: $something_eng.srt Done, processing time = 6 seconds Issues? Open a ticket here
它會大致瀏覽媒體檔案。在這個例子中,它發現該媒體檔案是馬拉雅拉姆語言(mal)並且格式是 .mkv。之後它將字幕檔案提取出來,命名為原始檔名並新增“_eng”字尾。
CCExtractor 是一款用來增強字幕功能和字幕編輯的優秀工具,我將在下一部分對它進行介紹。
趣味閱讀:在 vicaps 有一份有趣的字幕提要,它講解和分享為何字幕對我們如此重要。對於那些對這類話題感興趣的人來說,這裡面也有許多電影製作的細節。
你大概意識到大多數的字幕都是 .srt 格式 的。這種格式的優點在於你可以將它載入到文字編輯器中並對它進行少量的修改。
當進入一個簡單的文字編輯器時,一個 srt 檔案看起來會是這個樣子:
1 00:00:00,959 --> 00:00:13,744 "THE CABINET OF DR. CALIGARI" 2 00:00:40,084 --> 00:01:02,088 A TALE of the modern re-appearance of an 11th Century Myth involting the strange and mysterious influence of a mountebank monk over a somnambulist.
我分享的節選字幕來自於一部非常老的德國電影《卡里加里博士的小屋》(1920)。
Subtitleeditor 是一款非常棒的字幕編輯軟體。字幕編輯器可以用來設定字幕持續時間、與多媒體檔案同步的字幕幀率以及字幕間隔時間等等。接下來我將在這分享一些基本的字幕編輯。
首先,以安裝 ccextractor 工具同樣的方式安裝 subtitleeditor 工具,使用你自己喜愛的安裝方式。在 Debian 中,你可以使用 :
sudo apt install subtitleeditor
當你安裝完成後,讓我們來看一下在你編輯字幕時一些常見的場景。
如果你發現字幕與影片不同步,一個原因可能是影片檔案的幀率與字幕檔案的幀率並不一致。
你如何得知這些檔案的幀率呢,然後呢?為了獲取影片檔案的幀率,你可以使用 mediainfo 工具。首先你可能需要發行版的包管理器來安裝它。
使用 mediainfo 非常簡單:
$ mediainfo somefile.mkv | grep Frame Format settings : CABAC / 4 Ref Frames Format settings, ReFrames : 4 frames Frame rate mode : Constant Frame rate : 25.000 FPS Bits/(Pixel*Frame) : 0.082 Frame rate : 46.875 FPS (1024 SPF)
現在你可以看到影片檔案的幀率是 25.000 FPS 。我們看到的另一個幀率則是音訊檔案的幀率。雖然我可以分享為何在影片解碼和音訊解碼等地方會使用特定的 fps,但這將會是一個不同的主題,與它相關的歷史資訊有很多。
下一個問題是解決字幕檔案的幀率,這個稍微有點複雜。
通常情況下,大多數字幕都是壓縮格式的。將.zip 歸檔檔案和字幕檔案(以 XXX.srt 結尾)一起解壓縮。除此之外,通常還會有一個同名的 .info 檔案,該檔案可能包含字幕的幀率。
如果不是,那麼通常最好去某個站點並從具有該幀速率資訊的站點下載字幕。對於這個特定的德文檔案,我使用 Opensubtitle.org 來找到它。
正如你在連結中所看到的,字幕的幀率是 23.976 FPS 。很明顯,它不能與幀率為 25.000 FPS 的影片檔案一起很好地播放。
在這種情況下,你可以使用字幕編輯工具來改變字幕檔案的幀率。
按下 CTRL+A 選擇字幕檔案中的全部內容。點選 “Timings -> Change Framerate” ,將 23.976 fps 改為 25.000 fps 或者你想要的其他幀率,儲存已更改的檔案。
synchronize frame rates of subtitles in Linux
有時以上的方法就足夠解決問題了,但有時候以上方法並不足夠解決問題。
在幀率相同時,你可能會發現字幕檔案的開頭與電影或媒體檔案中起點並不相同。
在這種情況下,請按以下步驟進行操作:
按下 CTRL+A 鍵選中字幕檔案的全部內容。點選 “Timings -> Select Move Subtitle” 。
Move subtitles using Subtitle Editor on Linux
設定字幕檔案的新起點,儲存已更改的檔案。
Move subtitles using Subtitle Editor in Linux
如果你想要時間更精確一點,那麼可以使用 mpv 來檢視電影或者媒體檔案並點選進度條(可以顯示電影或者媒體檔案的播放進度),它也會顯示微秒。
通常我喜歡精準無誤的操作,因此我會試著儘可能地仔細調節。相較於人類的反應時間來說,MPV 中的反應時間很精確。如果我想要極其精確的時間,那麼我可以使用像 Audacity 之類的東西,但是那是另一種工具,你可以在上面做更多的事情。那也將會是我未來部落格中將要探討的東西。
有時,兩種方法都採用了還不夠,甚至你可能需要縮短或增加間隔時間以使其與媒體檔案同步。這是較為繁瑣的工作之一,因為你必須單獨確定每個句子的間隔時間。尤其是在媒體檔案中幀率可變的情況下(現已很少見,但你仍然會得到此類檔案)
在這種設想下,你可能因為無法實現自動編輯而不得不手動的修改間隔時間。最好的方式是修改影片檔案(會降低影片質量)或者換另一個更高質量的片源,用你喜歡的設定對它進行轉碼 。這又是一重大任務,以後我會在我的一些部落格文章上闡明。
以上我分享的內容或多或少是對現有字幕檔案的改進。如果從頭開始,你需要花費大量的時間。我完全沒有分享這一點,因為一部電影或一個小時內的任何影片材料都可以輕易地花費 4-6 個小時,甚至更多的時間,這取決於字幕員的技巧、耐心、上下文、行話、口音、是否是以英語為母語的人、翻譯等,所有的這些都會對字幕的質量產生影響。
我希望自此以後你會覺得這件事很有趣,並將你的字幕處理的更好一點。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2680943/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在 Linux 中編輯字幕Linux
- 影片編輯專家怎麼新增字幕?影片編輯專家使用與常見問題彙總
- 蘋果手機怎麼在影片上新增字幕編輯文字蘋果
- SUBtools for mac字幕編輯管理軟體Mac
- Submerge for mac(視訊字幕編輯處理工具)Mac
- 影視字幕編輯製作全屏播放Submerge
- iOS/Android 影片編輯SDKiOSAndroid
- Python影片編輯庫:MoviePyPython
- Mitti for Mac(影片編輯工具)MITMac
- Shotcut 24.11 (Linux, macOS, Windows) - 免費開源影片編輯器LinuxMacWindows
- Super LRC Editor With AI for Mac - 歌曲匯入字幕編輯器AIMac
- linux編輯器Linux
- Linux系統中的Vim編輯器Linux
- Compressor for Mac(影片編輯軟體)Mac
- Write on Video for Mac影片編輯工具IDEMac
- Python音影片編輯庫:moviepyPython
- Mac——免費的音樂編輯軟、影片編輯軟體。Mac
- 不咕剪輯APP設定影片字幕的透明度的方法APP
- LINUX VIM編輯器Linux
- 影片字幕製作Subtitle Studio如何輕鬆新增字幕
- 美攝影片剪輯SDK:企業級影片編輯解決方案
- Premiere Pro 2023:全新影片編輯工具REM
- Mac影片編輯應用——Videoloupe for MacMacIDE
- 影片轉碼編輯工具Compressor for MacMac
- Vidmore Video Editor for Mac(影片編輯器)IDEMac
- Wondershare UniConverter萬興影片編輯工具
- linux vi編輯器中 快捷鍵上下翻頁Linux
- Linux 常見編輯器Linux
- Linux 命令如何編輯 PDF?Linux
- Linux文字編輯器JedLinux
- 影片播放和編輯軟體:Videoloupe for MacIDEMac
- VideoPad for Mac(強大的影片編輯器)IDEMac
- iMovie 入門教程:影片編輯的利器
- TunesKit AceMovi Video Editor for Mac(影片編輯工具)IDEMac
- Wondershare Filmora X Mac影片編輯軟體Mac
- 華為影片編輯服務(Video Editor Kit),助力開發者高效構建應用影片編輯能力IDE
- Linux編輯器Vim簡介Linux
- VR影片編輯解決方案,全新影片內容創作方式VR