[FFmpeg-user] Is it possible to add a 'keyw' atom to a MP4

Jason Player jcplayer at mit.edu
Tue Feb 6 21:29:51 EET 2018


Hi Moritz,

Thanks for trying to help me. Here’s the log scroll console output.
Basically it shows this:
ffprobe command showing current metadata,
the ffmpeg command to add keywords,
the ffprobe command showing the metadata of the output file.

Console log:
==========
northeast-fortynine-seven-fifty-two:iflicks jcplayer$ ffprobe copy.mp4
ffprobe version 3.0.2 Copyright (c) 2007-2016 the FFmpeg developers
  built with Apple LLVM version 7.3.0 (clang-703.0.29)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0.2 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags=
--enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid
--enable-vda
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'copy.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Instructor Interview: Meet the Educator
    artist          : Shigeru Miyagawa
    album_artist    : MIT OpenCourseWare
    album           : MIT OCW: 21G.027 Asia in the Modern World: Images &
Representations, Fall 2016
    date            : 2017-03-01T12:00:00Z
    encoder         : Lavf57.25.100
    comment         : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    genre           : MIT Faculty Interview
    copyright       : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    description     : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    synopsis        : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    media_type      : 9
    hd_video        : 0
    gapless_playback: 0
  Duration: 00:01:15.63, start: 0.000000, bitrate: 303 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 640x360 [SAR 1:1 DAR 16:9], 221 kb/s, 24 fps, 24 tbr, 90k tbn, 180k
tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 76 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
northeast-fortynine-seven-fifty-two:iflicks jcplayer$ ffmpeg -i ./copy.mp4
-metadata 'keywords=bla, foo' ./copy_keyw.mp4
ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with Apple LLVM version 7.3.0 (clang-703.0.29)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0.2 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags=
--enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid
--enable-vda
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './copy.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Instructor Interview: Meet the Educator
    artist          : Shigeru Miyagawa
    album_artist    : MIT OpenCourseWare
    album           : MIT OCW: 21G.027 Asia in the Modern World: Images &
Representations, Fall 2016
    date            : 2017-03-01T12:00:00Z
    encoder         : Lavf57.25.100
    comment         : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    genre           : MIT Faculty Interview
    copyright       : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    description     : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    synopsis        : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    media_type      : 9
    hd_video        : 0
    gapless_playback: 0
  Duration: 00:01:15.63, start: 0.000000, bitrate: 303 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 640x360 [SAR 1:1 DAR 16:9], 221 kb/s, 24 fps, 24 tbr, 90k tbn, 180k
tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 76 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[libx264 @ 0x7f97b480a800] using SAR=1/1
[libx264 @ 0x7f97b480a800] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7f97b480a800] profile High, level 3.0
[libx264 @ 0x7f97b480a800] 264 - core 148 r2668 fd2c324 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options:
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1
cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11
lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0
direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40
intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0
qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to './copy_keyw.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Instructor Interview: Meet the Educator
    artist          : Shigeru Miyagawa
    album_artist    : MIT OpenCourseWare
    album           : MIT OCW: 21G.027 Asia in the Modern World: Images &
Representations, Fall 2016
    date            : 2017-03-01T12:00:00Z
    keywords        : bla, foo
    comment         : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    genre           : MIT Faculty Interview
    copyright       : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    description     : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    synopsis        : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    media_type      : 9
    hd_video        : 0
    gapless_playback: 0
    encoder         : Lavf57.25.100
    Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021),
yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 24 fps, 12288 tbn, 24 tbc
(default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc57.24.102 libx264
    Side data:
      unknown side data type 10 (24 bytes)
    Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz,
stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc57.24.102 aac
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 1813 fps=362 q=-1.0 Lsize=    3114kB time=00:01:15.62 bitrate=
337.3kbits/s speed=15.1x
video:1955kB audio:1106kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 1.745649%
[libx264 @ 0x7f97b480a800] frame I:8     Avg QP:16.29  size: 20703
[libx264 @ 0x7f97b480a800] frame P:466   Avg QP:19.85  size:  2953
[libx264 @ 0x7f97b480a800] frame B:1339  Avg QP:24.22  size:   343
[libx264 @ 0x7f97b480a800] consecutive B-frames:  0.9%  1.0%  2.3% 95.8%
[libx264 @ 0x7f97b480a800] mb I  I16..4: 12.3% 60.4% 27.4%
[libx264 @ 0x7f97b480a800] mb P  I16..4:  0.4%  1.0%  0.2%  P16..4: 21.6%
10.5%  6.8%  0.0%  0.0%    skip:59.5%
[libx264 @ 0x7f97b480a800] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 19.3%
1.4%  0.2%  direct: 0.4%  skip:78.5%  L0:44.3% L1:50.0% BI: 5.7%
[libx264 @ 0x7f97b480a800] 8x8 transform intra:57.6% inter:68.6%
[libx264 @ 0x7f97b480a800] coded y,uvDC,uvAC intra: 45.8% 45.6% 22.4% inter:
4.3% 4.8% 0.4%
[libx264 @ 0x7f97b480a800] i16 v,h,dc,p: 56% 28%  8%  8%
[libx264 @ 0x7f97b480a800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 24% 25%  3%
3%  4%  5%  4%  5%
[libx264 @ 0x7f97b480a800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 25%  9%  4%
7%  6%  8%  6%  6%
[libx264 @ 0x7f97b480a800] i8c dc,h,v,p: 64% 17% 15%  4%
[libx264 @ 0x7f97b480a800] Weighted P-Frames: Y:3.6% UV:3.6%
[libx264 @ 0x7f97b480a800] ref P L0: 62.7% 15.3% 15.0%  7.0%  0.0%
[libx264 @ 0x7f97b480a800] ref B L0: 89.3%  8.5%  2.2%
[libx264 @ 0x7f97b480a800] ref B L1: 95.8%  4.2%
[libx264 @ 0x7f97b480a800] kb/s:211.95
[aac @ 0x7f97b5086200] Qavg: 7311.251
northeast-fortynine-seven-fifty-two:iflicks jcplayer$ ffprobe
./copy_keyw.mp4 
ffprobe version 3.0.2 Copyright (c) 2007-2016 the FFmpeg developers
  built with Apple LLVM version 7.3.0 (clang-703.0.29)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0.2 --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags=
--enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid
--enable-vda
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './copy_keyw.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Instructor Interview: Meet the Educator
    artist          : Shigeru Miyagawa
    album_artist    : MIT OpenCourseWare
    album           : MIT OCW: 21G.027 Asia in the Modern World: Images &
Representations, Fall 2016
    date            : 2017-03-01T12:00:00Z
    encoder         : Lavf57.25.100
    comment         : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    genre           : MIT Faculty Interview
    copyright       : https://ocw.mit.edu; Creative Commons
Attribution-NonCommercial-ShareAlike 4.0; https://ocw.mit.edu/terms; album
art image is in the public domain.
    description     : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    synopsis        : This video is the introduction of Professor Shigeru
Miyagawa, the instructor for the MIT course 21G.027 of Fall 2016.
    media_type      : 9
    hd_video        : 0
    gapless_playback: 0
  Duration: 00:01:15.65, start: 0.021333, bitrate: 337 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
640x360 [SAR 1:1 DAR 16:9], 212 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc
(default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
fltp, 119 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
northeast-fortynine-seven-fifty-two:iflicks jcplayer$


Thanks again for your help!
-Jason


From:  ffmpeg-user <ffmpeg-user-bounces at ffmpeg.org> on behalf of Moritz
Barsnick <barsnick at gmx.net>
Reply-To:  FFmpeg user questions <ffmpeg-user at ffmpeg.org>
Date:  Sunday, February 4, 2018 at 9:50 AM
To:  FFmpeg user discussions <ffmpeg-user at ffmpeg.org>
Subject:  Re: [FFmpeg-user] Is it possible to add a 'keyw' atom to a MP4

> On Fri, Feb 02, 2018 at 21:08:24 +0000, Jason Player wrote:
>>  metadata fields- check). The funny thing is, ffprobe and ffmpeg will display
>>  the keyword metadata on my older files, just not set it. I¹ve tried using
> 
> You should provide the actual command line you tried, along with its
> complete, uncut console output.
> 
>>  Is there some way I¹m missing
> 
> From looking at the sources and a quick experiment, I can claim that
> ffmpeg successfully maps the "keywords" metadata field to the "keyw"
> atom:
> 
> $ ffmpeg -f lavfi -i testsrc=d=1 -metadata 'keywords=bla, foo' ~/tmp/test.mp4
> [...]
> $ AtomicParsley ~/tmp/test.mp4 -t
> Atom "?too" contains: Lavf58.5.100
> Atom "keyw" contains: bla, foo
> 
> Is this what you tried? Is this not the expected result? (This keyw
> atom is a subatom of udta->ilst.)
> 
> Cheers,
> Moritz
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1594 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20180206/b5a66dd8/attachment.bin>


More information about the ffmpeg-user mailing list