2012-07-29 105 views
9

我一直在試圖將我在相機上拍攝的一些視頻轉換爲壓縮格式以節省一些存儲空間。我想出瞭如何使用ffmpeg將視頻轉換爲我想要的格式,但我無法弄清楚的是如何複製元數據。我想複製視頻拍攝時的原始元數據(最重要的是創建時間)。我嘗試使用-map_meta_data 0:0選項運行ffmpeg,但這似乎不起作用。有任何想法嗎?使用ffmpeg轉換視頻格式和複製標籤

它看起來像我想在這種情況下複製的數據是在視頻的格式部分。使用ffprobe與show_format選項,我得到這個輸出:

[FORMAT] 
filename=video.AVI 
nb_streams=2 
format_name=avi 
format_long_name=AVI format 
start_time=0.000000 
duration=124.565421 
size=237722700 
bit_rate=15267331 
TAG:creation_time=2012-02-07 12:15:27 
TAG:encoder=CanonMVI06 
[/FORMAT] 

我想複製這兩個標籤到我的新視頻。

+0

請出示您的ffmpeg的命令和完整的控制檯輸出。 – LordNeckbeard 2012-07-29 04:12:01

回答

5

the documentation on dumping and loading metadata看一看:

FFmpeg的是能夠轉儲從媒體文件的元數據到一個簡單的UTF-8編碼的INI般的文本文件,然後使用元數據複用器/解複用器加載回來。

的過程可能是這個樣子:

# First extract metadata 
ffmpeg -i original.mov -f ffmetadata metadata.txt 
# Next, transcode, including extracted metadata 
ffmpeg -i original.mov -f ffmetadata -i metadata.txt compressed.mp4 

我沒有元數據FUL視頻,現在來測試,但這樣的事情應該工作。

+0

這似乎應該工作,但是當我提取元數據時,creation_time標記不會被提取。這就是保存到文件中的全部內容,這也可以解釋爲什麼map_meta_data選項不起作用:'; FFMETADATA1 encoder = CanonMVI06' – Scott 2012-07-30 14:57:39

+0

@Scott確實如此。儘管它完全不雅,不應該是必須的,但是已經嘗試使用ffprobe和grep來獲取創建時間,然後使用['-metadata'](http://www.ffmpeg.org/ffmpeg)直接在輸出中設置它。 HTML#主選項)? – blahdiblah 2012-07-30 18:04:02

+2

這仍然不起作用,但它指出我在正確的方向。當我運行ffmpeg命令說stfptime不可用時(我一直試圖在Windows上執行此操作),我終於注意到有一條消息獲得輸出。事實證明,由於該庫在Windows上不可用,因此該日期從未放入元數據中。所以,我試圖在Linux中轉換我的視頻,其中stfptime可用,並且map_metadata和ffmetadata選項都可用於將creation_time標記保存到視頻元數據中。 – Scott 2012-08-16 03:05:08

3

使用「-map_metadata 0:g」複製所有全局元數據。

0表示輸入#0。 g表示全球元數據。

這是我的ffprobe結果。請享用!

input.mp4

[FORMAT] 
filename=input.mp4 
nb_streams=2 
nb_programs=0 
format_name=mov,mp4,m4a,3gp,3g2,mj2 
format_long_name=QuickTime/MOV 
start_time=0.000000 
duration=60.560500 
size=190252680 
bit_rate=25132246 
probe_score=100 
TAG:major_brand=mp42 
TAG:minor_version=1 
TAG:compatible_brands=mp42avc1 
TAG:creation_time=2016-05-14 10:01:17 
[/FORMAT] 

output.mp4

[FORMAT] 
filename=output.mp4 
nb_streams=2 
nb_programs=0 
format_name=mov,mp4,m4a,3gp,3g2,mj2 
format_long_name=QuickTime/MOV 
start_time=0.000000 
duration=60.632000 
size=38636429 
bit_rate=5097826 
probe_score=100 
TAG:major_brand=isom 
TAG:minor_version=512 
TAG:compatible_brands=isomiso2avc1mp41 
TAG:creation_time=2016-05-14 01:01:17 
TAG:encoder=Lavf57.36.100 
[/FORMAT]