2013-07-26 17 views
1

Привет, у меня есть видео MP4, я хочу изменить время создания с помощью ffmepg, не изменяя остальные метаданные. но я столкнулся с некоторыми проблемами.ffmpeg edit metadata 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-06-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 

В соответствии с выходом, и потому, что я выбрал «-кодек-копию -vcodec copy», все должно оставаться неизменным. Но когда я запускаю ffprobe для вновь созданного файла .mp4. Вот вывод:

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.7, но не тестировалось)

  2. загрузить movmd.py из GitHub

movmd.py может изменить все даты в вашем mp4 на месте (очень быстро)

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

экстрагирован mp4 инф o с ffmpeg, i получено:

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. 

 Смежные вопросы

  • Нет связанных вопросов^_^