ffmpeg文檔23-元數據(metadata)


23 元數據(metadata)

FFmpeg能夠提取媒體文件元數據,並轉儲到一個簡單的utf-8編碼的類INI文本文件中,然后在分離器/混合器中再次使用

轉儲的文件格式為:

  1. 文件包含一個頭,以及一些元數據標簽,元數據放置在各自子節的行中

  2. 文件頭有一個 ‘;FFMETADATA’ 字符串,緊接着版本號(目前為1)

  3. 元數據標簽以‘key=value’ 形式給出

  4. 頭緊跟着是全局元數據

  5. 在全局元數據后可能有分部的元數據(每個流/每個章)

  6. 分節元數據從分節名,由(‘[’, ‘]’)括起的大寫字符串(STREAM 或者 CHAPTER),直至下一節或者文件結束

  7. 在一章的開始部分可能有一個可選的時基用於開始/結束值(start/end),其形如TIMEBASE=num/den,這里numden是整數。如果沒有設置,則開始/結束 時間以milliseconds為單位

    下一章(節)的元數據描述包含了開始結束時間的(形如 ‘START=num’, ‘END=num’)則時間值(這里的num)必須是正整數

  8. 空行(無效),開始字符是";"或者"#"的行被忽略

  9. 如果元數據標簽或者值中包含特殊字符(‘=’, ‘;’, ‘#’, ‘\’和 回車/換行),必須由''進行轉義

  10. 注意空格在元數據中(例如‘foo = bar’)會被認為是標簽的一部分(前面的標簽關鍵字是 ‘foo ’——注意有一個空格的,值是 ‘ bar’——也有一個空格的)

一個ffmetadata文件大致像:

;FFMETADATA1
title=bike\\shed
;this is a comment
artist=FFmpeg troll team  
[CHAPTER]
TIMEBASE=1/1000
START=0
#chapter ends at 0:01:00
END=60000
title=chapter \#1
[STREAM]
title=multi\
line

通過使用ffmetadata,混合器和分離器可以從輸入的ffmetadata文件中導出元數據,也可以編輯ffmetadata文件以轉換輸出到輸出文件中

利用ffmetadata導出元數據:

ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE

從FFMETADATAFILE 文件中加載元數據信息輸出到輸出文件中:

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM