2013-07-26 166 views
1

你好,我有一個MP4視頻,我想改變使用ffmepg creation_time,而不改變其餘的元數據。但我面臨一些問題..ffmpeg編輯元數據major_brand

major_brand和更多的東西都改變了。我希望那些是一樣的。如果我把它放在ffprobe.exe這是我所看到的:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '6.mp4': 
    Metadata: 
    major_brand  : mp42 
    minor_version : 1 
    compatible_brands: mp41mp42isom 
    creation_time : 2013-03-23 16:25:53 
    Duration: 00:00:06.55, start: 0.000000, bitrate: 919 kb/s 
    Stream #0:0(und): Video: h264 (Main) (avc1/0x31637661), yuv420p, 480x480, 
862 kb/s, 29.97 fps, 29.97 tbr, 600 tbn, 1200 tbc 
    Metadata: 
     creation_time : 2013-03-23 16:25:53 
     handler_name : Core Media Video 
    Stream #0:1(und): Audio: aac (mp4a/0x6134706D), 44100 Hz, mono, fltp, 62 k 
b/s 
    Metadata: 
     creation_time : 2013-03-23 16:25:53 
     handler_name : Core Media Audio 

我想改變視頻的CREATION_TIME,當我運行:

ffmpeg.exe -i 6.mp4 - 元數據CREATION_TIME = 「2013年6月22日15:00:00」 -acodec副本複印件-vcodec output.mp4

我得到:

Output #0, mp4, to 'output.mp4': 
    Metadata: 
    major_brand  : mp42 
    minor_version : 1 
    compatible_brands: mp41mp42isom 
    creation_time : 2013-06-22 15:00:00 
    encoder   : Lavf55.12.102 
    Stream #0:0(und): Video: h264 ([33][0][0][0]/0x0021), yuv420p, 480x480, q= 
2-31, 862 kb/s, 29.97 fps, 19200 tbn, 600 tbc 
    Metadata: 
     creation_time : 2013-03-23 16:25:53 
     handler_name : Core Media Video 
    Stream #0:1(und): Audio: aac ([64][0][0][0]/0x0040), 44100 Hz, mono, 62 kb 
/s 
    Metadata: 
     creation_time : 2013-03-23 16:25:53 
     handler_name : Core Media Audio 
Stream mapping: 
    Stream #0:0 -> #0:0 (copy) 
    Stream #0:1 -> #0:1 (copy) 
Press [q] to stop, [?] for help 
frame= 194 fps=0.0 q=-1.0 Lsize=  738kB time=00:00:06.61 bitrate= 913.9kbits 
/s 

根據輸出,因爲我選擇「-acodec copy -vcodec copy」,所有內容應保持不變。但是當我爲新創建的.mp4文件運行ffprobe時。這裏是輸出:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    creation_time : 2013-06-22 15:00:00 
    encoder   : Lavf55.12.102 
    Duration: 00:00:06.62, start: 0.000000, bitrate: 913 kb/s 
    Stream #0:0(und): Video: h264 (Main) (avc1/0x31637661), yuv420p, 480x480, 
862 kb/s, 29.97 fps, 30 tbr, 19200 tbn, 38400 tbc 
    Metadata: 
     creation_time : 2013-06-22 15:00:00 
     handler_name : VideoHandler 
    Stream #0:1(und): Audio: aac (mp4a/0x6134706D), 44100 Hz, mono, fltp, 62 k 
b/s 
    Metadata: 
     creation_time : 2013-06-22 15:00:00 
     handler_name : SoundHandler 

正如你所看到的一切已經改變,即使我選擇保持一切都一樣。

請幫我解決這個問題。謝謝!

+0

不確定你可以找到一個工具,只更改創建日期。在你的情況下,流複製工作正常,但它只是複用器不使用完全相同的標記,而不是原始文件。但創造日期很容易找到,我認爲一個簡單的程序就地更新是可能的... – alexbuisson

回答

2

現場解決方案使用python腳本存在。

  1. 安裝的Python 3.3.2

  2. 下載movmd.py(它可能與去年的2.7系列,但未經測試工作)從GitHub

movmd.py可以改變所有的日期在你的MP4就地(真的很快)

python movmd.py mp4File.mp4 "2013-07-29 00:00:00" 

提取了mp4 inf o與ffmpeg,我得到:

ffmpeg version N-53818-gfca435f Copyright (c) 2000-2013 the FFmpeg developers 
    built on Jun 4 2013 01:41:53 with gcc 4.7.3 (GCC) 
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu 
ray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l 
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-lib 
vpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib 
    libavutil  52. 34.100/52. 34.100 
    libavcodec  55. 15.100/55. 15.100 
    libavformat 55. 8.102/55. 8.102 
    libavdevice 55. 2.100/55. 2.100 
    libavfilter  3. 74.101/3. 74.101 
    libswscale  2. 3.100/2. 3.100 
    libswresample 0. 17.102/0. 17.102 
    libpostproc 52. 3.100/52. 3.100 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C_est_pas_Sorcier_Les_Volcans_partie_1 - Copie.mp4': 
    Metadata: 
    major_brand  : mp42 
    minor_version : 0 
    compatible_brands: isommp42 
    creation_time : 2013-07-28 23:00:00 
    Duration: 00:14:19.06, start: 0.000000, bitrate: 611 kb/s 
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1/0x31637661), yuv420p, 480x360 [SAR 1:1 DAR 4:3], 509 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc 
    Metadata: 
     creation_time : 2013-07-28 23:00:00 
     handler_name : VideoHandler 
    Stream #0:1(und): Audio: aac (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s 
    Metadata: 
     creation_time : 2013-07-28 23:00:00 
     handler_name : (C) 2007 Google Inc. v08.13.2007.