雖然現在的世代以串流媒體為主流消費方式,但在這個數位化的時代,我們是否曾經深入思考過如何有效地管理、歸類並保護作者的數位資產和相關權益?而這些重要的議題,恰恰就是中繼資料 (Metadata) 所扮演的關鍵角色,它不僅是數位內容管理的依據,更是保護創作者和使用者權益的首道防線。
素材取用
影片:雲端下載 <影片來源 – Bad Apple by あにら | ニコニコ >
封面:雲端下載
實作過程
樂曲資訊
專輯不僅包含音樂作品本身,還涉及許多重要的後設資料,這些資訊對於建立一個完整且專業的系列來說是不可或缺的。讓我們先從最基本的步驟開始,轉出測試用的音訊檔案。
ffmpeg -i ./test.mp4 ./test.mp3
我們可以運用 -metadata 這個參數來進行各種欄位的詳細設定,關於可用的欄位名稱建議大家可以參考參考 [4]這份具體的文件說明。這邊我們就稍微看看指令,但先不執行任何操作,稍後一次處理完整。
ffmpeg -i ./test.mp3 -metadata album="專輯名稱" ./test_simple.mp3
這邊筆者根據自己購入的多張專輯參考後,統整並提供各位一份經過市場收集的腳本範例。為求整個處理流程更加簡便,我們在這裡採用了 .ffmeta 特殊的格式設計 (第一行勿刪),搭配 -map_metadata 參數選擇腳本檔案。這樣的設計可以有效地減少在命令列介面 (CLI) 中需要輸入的指令長度,使得整個操作過程更加流暢且直觀。
但需要注意的是,在 -metadata 的功能設定範圍內,並沒有替換樂曲封面的功能。考慮到這個限制,為了能夠提供完整的解決方案,我們將之前介紹過的封面照片處理範例結合在一起,以達到更全面的處理效果。執行完成之後,我們就能在音檔上右鍵 >> 內容 >> 細節,瀏覽我們修改的中繼資料。
ffmpeg -i ./test.mp3 -i ./thumbnail.png -i ./metadata.ffmeta -map_metadata 2 -map 1 -map 0 -c copy -id3v2_version 3 -disposition:0 attached_pic test_tailored.mp3
;FFMETADATA1
; 專輯資訊
;; 專輯的名稱
album=東方幻想鄉
;; 專輯的代表
album_artist=八寶周
;; 第幾首歌
track=1
;; 第幾磁碟
disc=1
; 創作資訊
;; 樂曲的名稱
title=Bad Apple!! PV【影絵】
;; 樂曲的作曲
composer=ZUN
;; 樂曲的代表
artist=あにら
;; 樂曲的風格 (在 ID3v1 中有定義 148 個數值,但有些許特例,而且通常都懶著填。)
;; https://en.wikipedia.org/wiki/List_of_ID3v1_genres
genre=
;; 樂曲的發行時間 (通常二選一,但也有留白。)
year=2009
date=2009
;; 版權所屬
copyright=babaochou2420.com
;; 發行者
publisher=八寶周的研究小屋
對於那些覺得命令列介面操作起來不太順手,或是偏好使用者介面的使用者來說,這邊額外介紹一下筆者過往只用過的軟體 —— TagScanner。這個工具不僅提供簡潔的操作介面,而且「麻雀雖小,五臟俱全」,還能區分多個專案管理。坦白來說比起 FFmpeg 原始的操作來的簡易,只是無法接上自動化。


影片資訊
在娛樂產業的背後,這些電影或影集又是如何區分?同樣於專輯的原理,則是分設季度與單集的資訊,而創作者則可能變成角色 / 演員 / 客串等等資訊。但筆者我沒有買過任何的電影或動漫,只能空虛地請各位翻閱參考 [5]。
而不只上述原因,以 Matroska (.mkv) 為例,在參考 [4] 與參考 [6] 中只有三個屬性,而如果要添增任何 TheTVDB 定義的屬性,我們只能純靠手打。這邊盡可能的翻閱如 Fanbox 或 Patreon 有關的訂閱制影片但都沒有任何資訊,因此決定不放任何的範例,而是各位能參考先前的格式,試著跑一次看看 .mp4 的版本來驗證結果,找找哪些資訊不再存在。
後話
在我們深入探討並確認中介資訊的重要性之後,成功針對數位內容的管理得到更完善的解決方案。然而在數位內容保護方面還存在著更為直接且顯著的保護機制,關於財產保護這個議題,我們還可以探討更多具體且常見的方法。
參考
[1] ffmeta — FFmpeg
https://ffmpeg.org/ffmpeg-formats.html#ffmetadata
[2] 編輯影音檔案詮釋資料 by kd01
https://hackmd.io/@kd01/rkvzvcg2d
[3] Public Metadata API — FFmpeg
https://www.ffmpeg.org/doxygen/2.2/group__metadata__api.html
[4] FFmpeg Metadata — Multimedia Wiki
https://wiki.multimedia.cx/index.php/FFmpeg_Metadata
[5] About TheTVDB — TheTVDB
https://www.thetvdb.com/about
[6] Matroska formats — FFmpeg
https://ffmpeg.org/ffmpeg-formats.html#matroska
額外讀物
[1] ID3 Introduction — ID3 Official
https://web.archive.org/web/20150620033655/http://id3.org/ID3v1
https://web.archive.org/web/20161201061509/http://id3.org/ID3v2Easy
[2] List of ID3v1 Genres — Wikipedia
https://en.wikipedia.org/wiki/List_of_ID3v1_genres