2011-05-20 80 views
3

前段時間我問了一個類似的問題,但是用python,之後決定切換到Java,因爲似乎有更多的資源來做這種事情。基本上我需要某種圖書館,想法或指令,這些圖書館,想法或指令可以讓我編輯MP4文件中的ID3標籤,就像在iTunes中找到的一樣。如果有人知道任何事情,您的幫助將不勝感激。如何在Java中編輯MP4 ID3標籤?

到目前爲止,我已經做了以下內容:

  1. 我發現這個問題/回答一個非常類似的問題:How do you Edit Video ID3v2 Tags in Java(它描述瞭如何使用用於音頻文件的庫調用JID3到編輯視頻ID3標籤),但我不知道如何實際將它導入到eclipse項目並使用它。我基本上將其解壓縮並將所有軟件包添加到項目中,但一次它的工作使得電影文件之後無法被任何媒體播放器讀取。如果任何人對如何導入和使用JID3有很好的瞭解。

  2. 我找到了這個網站:http://willcode4beer.com/parsing.jsp?set=mp3ID3它有一些看似好的代碼,用於閱讀和書寫ID3標籤,但不幸的是,它不能正常工作,不斷地返回問號串或告訴我該文件不是自發地將從字面上工作一次,然後再不工作,沒有任何改變)。不過,我喜歡簡單閱讀文件的字節或ASCII碼並以這種方式查找/編輯ID3標籤的想法,所以如果有人知道該怎麼做,那就太棒了。

在此先感謝。

+0

你看着HTTP: //www.id3.org/? – MJB 2011-05-20 21:29:41

回答

1

MP4中的元數據不一定是ID3格式。有可能使用ID3,但沒有廣泛使用。 ID3字節然後在/ moov/meta/id32框中。 iTunes文件在/ moov/udta/...中包含其元信息...有多個框,如'@cmt','@nam','@des','@cpy',包含每個字符串案例)評論,名稱,描述,版權。看看http://code.google.com/p/mp4parser/可視化,解析和編寫MP4文件。

0

如果我理解正確,您希望能夠編輯諸如藝術家,曲目,封面圖片等元數據,然後能夠在iTunes或QuickTime中查看您所做的更改。

在這種情況下,您可能需要查看JCodec中提供的新API(org.jcodec.movtool.MetadataEditor)。 它也有一個CLI(org.jcodec.movtool.MetadataEditorMain)。

這裏的基本用法:

# Changes the author of the movie 
./metaedit -f -si ©ART=New\ value file.mov 

或同樣的事情通過Java API:

MetadataEditor mediaMeta = MetadataEditor.createFrom(new 
    File("file.mp4")); 
Map<Integer, MetaValue> meta = mediaMeta.getItunesMeta(); 
meta.put(0xa9415254, MetaValue.createString("New value")); // fourcc for '©ART' 
mediaMeta.save(false); // fast mode is off 

您可以在這裏找到一個完整的文檔:http://jcodec.org/docs/working_with_mp4_metadata.html