[FFmpeg-user] Removing a metadata tag from a specfic stream

Paul B Mahol onemda at gmail.com
Sun Feb 7 16:51:58 EET 2021


This is because it does not allow arbitrary values, just some small set.

On Sun, Feb 7, 2021 at 3:51 PM Paul B Mahol <onemda at gmail.com> wrote:

>
>
> On Sun, Feb 7, 2021 at 3:49 PM Thibeau <vercruyssen.thibeau at gmail.com>
> wrote:
>
>> It is very strange that if you change the value you set comment from
>> 'Cover
>> (front)' to e.g 'Cover' it will set the tag to cover but ffmpeg won't
>> recognize it and display it as Other any ideas why this is?
>>
>
> Because if your set value does not match any from specification section I
> linked previously
> it will pick first entry, And first entry is "Other".
>
>
>>
>> On Sun, 7 Feb 2021 at 11:03, Thibeau <vercruyssen.thibeau at gmail.com>
>> wrote:
>>
>> > First ffprobe shows before executing ffmpeg command . I installed the
>> git
>> > version for ffmpeg to make sure it was the same as yours. It seems
>> you're
>> > infact corrrect and it allows for you to set the tag to another and
>> value
>> > and will default to Other. Thx for the help of explaining it. Didn't
>> find
>> > the docs on my own so thx for giving a link to them.
>> > Don't know alot about ffmpeg either but adding -vsync 2 to your command
>> > would seem like a good idea no? Than the error in the command (see
>> second
>> > command [2]) would go away. Unless I'm mistaken and it's intent to be
>> not
>> > use vsync 2 method.
>> > -------------------------- [1]
>> > ffprobe '29 My Girl.flac'
>> > ffprobe version N-100998-g134193a2ff Copyright (c) 2007-2021 the FFmpeg
>> > developers
>> >   built with gcc 9.3.0 (Gentoo 9.3.0-r2 p4)
>> >   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
>> > --docdir=/usr/share/doc/ffmpeg-9999/html --mandir=/usr/share/man
>> > --enable-shared --cc=x86_64-pc-linux-gnu-gcc
>> --cxx=x86_64-pc-linux-gnu-g++
>> > --ar=x86_64-pc-linux-gnu-ar --nm=x86_64-pc-linux-gnu-nm
>> > --ranlib=x86_64-pc-linux-gnu-ranlib
>> > --pkg-config=x86_64-pc-linux-gnu-pkg-config --optflags='-march=native
>> -O3
>> > -pipe -flto=5 -fgraphite-identity -floop-nest-optimize -ftree-vectorize
>> > -fsched-pressure -fipa-pta -fno-semantic-interposition
>> -fuse-linker-plugin
>> > -fno-common -fdevirtualize-at-ltrans -falign-functions=32
>> > --param=l1-cache-size=32 --param=l1-cache-line-size=64
>> > --param=l2-cache-size=6144' --disable-static --enable-avfilter
>> > --enable-avresample --disable-stripping --disable-optimizations
>> > --disable-libcelt --enable-nonfree --disable-indev=v4l2
>> > --disable-outdev=v4l2 --disable-indev=oss --disable-indev=jack
>> > --disable-outdev=oss --enable-bzlib --disable-runtime-cpudetect
>> > --disable-debug --disable-gcrypt --enable-gnutls --disable-gmp
>> --enable-gpl
>> > --disable-hardcoded-tables --enable-iconv --disable-libtls
>> > --disable-libxml2 --disable-lzma --disable-network --disable-opencl
>> > --enable-openssl --enable-postproc --disable-libsmbclient
>> --disable-ffplay
>> > --disable-sdl2 --disable-vaapi --disable-vdpau --disable-vulkan
>> > --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes
>> > --enable-zlib --disable-libcdio --disable-libiec61883
>> --disable-libdc1394
>> > --enable-libcaca --disable-openal --disable-opengl --disable-libv4l2
>> > --disable-libpulse --enable-libdrm --disable-libjack
>> > --disable-libopencore-amrwb --disable-libopencore-amrnb
>> --disable-libcodec2
>> > --enable-libdav1d --disable-libfdk-aac --disable-libopenjpeg
>> > --enable-libbluray --disable-libgme --disable-libgsm
>> --disable-libaribb24
>> > --disable-mmal --disable-libmodplug --enable-libopus --disable-libilbc
>> > --disable-librtmp --disable-libssh --disable-libspeex --disable-libsrt
>> > --enable-librsvg --disable-ffnvcodec --enable-libvorbis --disable-libvpx
>> > --disable-libzvbi --disable-appkit --disable-libbs2b
>> --disable-chromaprint
>> > --disable-cuda-llvm --disable-libflite
>> > --disable-frei0r --disable-libfribidi --enable-fontconfig
>> --disable-ladspa
>> > --disable-libass --disable-libtesseract --disable-lv2
>> --enable-libfreetype
>> > --disable-libvidstab --disable-librubberband --disable-libzmq
>> > --disable-libzimg --disable-libsoxr --enable-pthreads
>> > --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar
>> > --disable-libaom --disable-libopenh264 --disable-librav1e
>> > --disable-libsnappy --disable-libtheora --disable-libtwolame
>> > --disable-libwebp --disable-libx264 --disable-libx265 --disable-libxvid
>> > --disable-gnutls --disable-armv5te --disable-armv6 --disable-armv6t2
>> > --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8
>> > --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu
>> --disable-altivec
>> > --disable-vsx --disable-power8 --disable-amd3dnow --disable-amd3dnowext
>> > --disable-fma4 --disable-xop --cpu=host --enable-lto --disable-doc
>> > --disable-htmlpages --enable-manpages
>> >   libavutil      56. 64.100 / 56. 64.100
>> >   libavcodec     58.121.100 / 58.121.100
>> >   libavformat    58. 67.100 / 58. 67.100
>> >   libavdevice    58. 11.103 / 58. 11.103
>> >   libavfilter     7.102.100 /  7.102.100
>> >   libavresample   4.  0.  0 /  4.  0.  0
>> >   libswscale      5.  8.100 /  5.  8.100
>> >   libswresample   3.  8.100 /  3.  8.100
>> >   libpostproc    55.  8.100 / 55.  8.100
>> > Input #0, flac, from '29 My Girl.flac':
>> >   Metadata:
>> >     ALBUM           : Prodigal Son: Season 1 (Original Television
>> > Soundtrack)
>> >     ARTIST          : Nathaniel Blume
>> >     DATE            : 2020
>> >     TITLE           : My Girl
>> >     track           : 29
>> >   Duration: 00:02:55.60, start: 0.000000, bitrate: 1424 kb/s
>> >   Stream #0:0: Audio: flac, 44100 Hz, stereo, s32 (24 bit)
>> >   Stream #0:1: Video: mjpeg (Baseline), yuvj444p(pc,
>> > bt470bg/unknown/unknown), 640x640 [SAR 118:118 DAR 1:1], 90k tbr, 90k
>> tbn,
>> > 90k tbc (attached pic)
>> >     Metadata:
>> >       comment         : Other
>> > ---------------------------------------- [1]
>> > --------------------------------- [2]
>> > brandon at NKWTMEID /tmp/x $ ffmpeg -i '29 My Girl.flac' -c:v png
>> > -disposition:v:1 attached_pic -metadata:s:v:0 comment="Cover (front)"
>> > out.flac
>> > ffmpeg version N-100998-g134193a2ff Copyright (c) 2000-2021 the FFmpeg
>> > developers
>> >   built with gcc 9.3.0 (Gentoo 9.3.0-r2 p4)
>> >   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
>> > --docdir=/usr/share/doc/ffmpeg-9999/html
>> > --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc
>> > --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar
>> > --nm=x86_64-pc-linux-gnu-nm --ranlib=x86_64-pc-linux-gnu-ranlib
>> > --pkg-config=x86_64-pc-linux-gnu-pkg-config --optflags='-march=native
>> -O3
>> > -pipe -flto=5 -fgraphite-identity -floop-nest-optimize -ftree-vectorize
>> > -fsched-pressure -fipa-pta -fno-semantic-interposition
>> -fuse-linker-plugin
>> > -fno-common -fdevirtualize-at-ltrans -falign-functions=32
>> > --param=l1-cache-size=32 --param=l1-cache-line-size=64
>> > --param=l2-cache-size=6144' --disable-static
>> > --enable-avfilter --enable-avresample --disable-stripping
>> > --disable-optimizations --disable-libcelt --enable-nonfree
>> > --disable-indev=v4l2 --disable-outdev=v4l2 --disable-indev=oss
>> > --disable-indev=jack --disable-outdev=oss --enable-bzlib
>> > --disable-runtime-cpudetect --disable-debug --disable-gcrypt
>> > --enable-gnutls --disable-gmp --enable-gpl --disable-hardcoded-tables
>> > --enable-iconv --disable-libtls --disable-libxml2 --disable-lzma
>> > --disable-network --disable-opencl --enable-openssl --enable-postproc
>> > --disable-libsmbclient --disable-ffplay --disable-sdl2 --disable-vaapi
>> > --disable-vdpau --disable-vulkan --enable-xlib --enable-libxcb
>> > --enable-libxcb-shm --enable-libxcb-xfixes --enable-zlib
>> --disable-libcdio
>> > --disable-libiec61883 --disable-libdc1394 --enable-libcaca
>> --disable-openal
>> > --disable-opengl --disable-libv4l2 --disable-libpulse --enable-libdrm
>> > --disable-libjack --disable-libopencore-amrwb
>> --disable-libopencore-amrnb
>> > --disable-libcodec2 --enable-libdav1d --disable-libfdk-aac
>> > --disable-libopenjpeg --enable-libbluray --disable-libgme
>> --disable-libgsm
>> > --disable-libaribb24 --disable-mmal --disable-libmodplug
>> --enable-libopus
>> > --disable-libilbc --disable-librtmp --disable-libssh --disable-libspeex
>> > --disable-libsrt --enable-librsvg --disable-ffnvcodec --enable-libvorbis
>> > --disable-libvpx --disable-libzvbi --disable-appkit --disable-libbs2b
>> > --disable-chromaprint --disable-cuda-llvm --disable-libflite
>> > --disable-frei0r --disable-libfribidi --enable-fontconfig
>> --disable-ladspa
>> > --disable-libass --disable-libtesseract --disable-lv2
>> --enable-libfreetype
>> > --disable-libvidstab --disable-librubberband --disable-libzmq
>> > --disable-libzimg --disable-libsoxr --enable-pthreads
>> > --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar
>> > --disable-libaom --disable-libopenh264 --disable-librav1e
>> > --disable-libsnappy --disable-libtheora --disable-libtwolame
>> > --disable-libwebp --disable-libx264 --disable-libx265 --disable-libxvid
>> > --disable-gnutls --disable-armv5te --disable-armv6 --disable-armv6t2
>> > --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8
>> > --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu
>> --disable-altivec
>> > --disable-vsx --disable-power8 --disable-amd3dnow --disable-amd3dnowext
>> > --disable-fma4 --disable-xop --cpu=host --enable-lto --disable-doc
>> > --disable-htmlpages --enable-manpages
>> >   libavutil      56. 64.100 / 56. 64.100
>> >   libavcodec     58.121.100 / 58.121.100
>> >   libavformat    58. 67.100 / 58. 67.100
>> >   libavdevice    58. 11.103 / 58. 11.103
>> >   libavfilter     7.102.100 /  7.102.100
>> >   libavresample   4.  0.  0 /  4.  0.  0
>> >   libswscale      5.  8.100 /  5.  8.100
>> >   libswresample   3.  8.100 /  3.  8.100
>> >   libpostproc    55.  8.100 / 55.  8.100
>> > Input #0, flac, from '29 My Girl.flac':
>> >   Metadata:
>> >     ALBUM           : Prodigal Son: Season 1 (Original Television
>> > Soundtrack)
>> >     ARTIST          : Nathaniel Blume
>> >     DATE            : 2020
>> >     TITLE           : My Girl
>> >     track           : 29
>> >   Duration: 00:02:55.60, start: 0.000000, bitrate: 1424 kb/s
>> >   Stream #0:0: Audio: flac, 44100 Hz, stereo, s32 (24 bit)
>> >   Stream #0:1: Video: mjpeg (Baseline), yuvj444p(pc,
>> > bt470bg/unknown/unknown), 640x640 [SAR 118:118 DAR 1:1], 90k
>> > tbr, 90k tbn, 90k tbc (attached pic)
>> >     Metadata:
>> >       comment         : Other
>> > Stream mapping:
>> >   Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
>> >   Stream #0:0 -> #0:1 (flac (native) -> flac (native))
>> > Press [q] to stop, [?] for help
>> > [swscaler @ 0x5555a8fd5d00] deprecated pixel format used, make sure you
>> > did set range correctly
>> > [flac @ 0x5555a8f532c0] Frame rate very high for a muxer not efficiently
>> > supporting it.
>> > Please consider specifying a lower framerate, a different muxer or
>> -vsync 2
>> > Output #0, flac, to 'out.flac':
>> >   Metadata:
>> >     ALBUM           : Prodigal Son: Season 1 (Original Television
>> > Soundtrack)
>> >     ARTIST          : Nathaniel Blume
>> >     DATE            : 2020
>> >     TITLE           : My Girl
>> >     track           : 29
>> >     encoder         : Lavf58.67.100
>> >   Stream #0:0: Video: png, rgb24(pc, bt470bg/unknown/unknown,
>> > progressive), 640x640 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 90k fps, 90k
>> tbn
>> > (attached pic)
>> >     Metadata:
>> >       comment         : Cover (front)
>> >       encoder         : Lavc58.121.100 png
>> >   Stream #0:1: Audio: flac, 44100 Hz, stereo, s32 (24 bit), 128 kb/s
>> >     Metadata:
>> >       encoder         : Lavc58.121.100 flac
>> > frame=    1 fps=0.0 q=-0.0 Lsize=   31013kB time=00:02:55.60
>> > bitrate=1446.8kbits/s speed= 359x
>> > video:565kB audio:30440kB subtitle:0kB other streams:0kB global
>> > headers:0kB muxing overhead: 0.026684%
>> > --------------------- [1]
>> >
>> > On Sun, 7 Feb 2021 at 10:35, Paul B Mahol <onemda at gmail.com> wrote:
>> >
>> >> On Sun, Feb 7, 2021 at 11:19 AM Paul B Mahol <onemda at gmail.com> wrote:
>> >>
>> >> >
>> >> >
>> >> > On Sun, Feb 7, 2021 at 12:59 AM MediaMouth <communque at gmail.com>
>> wrote:
>> >> >
>> >> >> On Feb 6, 2021, at 3:32 PM, Paul B Mahol <onemda at gmail.com> wrote:
>> >> >> >
>> >> >> > Can you share file?
>> >> >> Yes.  The O.P. made it available here: https://ufile.io/bgunj34e <
>> >> >> https://ufile.io/bgunj34e>
>> >> >>
>> >> >> >
>> >> >> > ffmpeg -i INPUT.png -i AUDIO.flac -map:v 0 -metadata comment=Other
>> >> >> > -disposition:v:0 attached_pic -map:a 1 -metadata album=test
>> >> FINAL.flac
>> >> >> >
>> >> >> > Note that metadata order is important. The command above adds
>> comment
>> >> >> > metadata to video stream.
>> >> >>
>> >> >> Thanks for posting.  Clear and helpful.  Unfortunately, I got an
>> error
>> >> >> Here are the steps I did...
>> >> >>
>> >> >
>> >> > Your steps are all invalid. Why you put first audio then video?
>> >> > My command only works with first video stream and after that audio
>> >> stream.
>> >> > In ffmpeg every item position matters.
>> >> >
>> >>
>> >> Also you can not remove description of attached picture at all.
>> "Other" is
>> >> just default value if no other valid values are set.
>> >> You can change value to "Cover (front)" if you like, please read 4.14
>> >> section of https://id3.org/id3v2.4.0-frames
>> >>
>> >> So command to change Other to Cover is:
>> >> ffmpeg -i INPUT.flac -c:v png -disposition:v:1 attached_pic
>> >> -metadata:s:v:0
>> >> comment="Cover (front)" OUTPUT.flac
>> >>
>> >>
>> >>
>> >> >
>> >> >
>> >> >> ffmpeg -i '29 My Girl.flac' -an -vcodec copy '29 My Girl.png';
>> #Extract
>> >> >> the album art to an external file.
>> >> >> ffmpeg -i '29 My Girl.flac' -map 0 -map -0:v:0 -c copy '29 My
>> >> >> Girl-NoArt.flac'; #Remove the album art, save results to a new .flac
>> >> file.
>> >> >> ffmpeg -i '29 My Girl-NoArt.flac' -i '29 My Girl.png' -map:v 0
>> >> -metadata
>> >> >> comment=SomethingOtherThanOther -disposition:v:0 attached_pic
>> -map:a 1
>> >> >> -metadata comment= '29 My Girl-ReArt.flac'; #Add the album art back
>> >> using
>> >> >> the metadata commands as you suggest, and store to yet another .flac
>> >> file.
>> >> >> Error received:  [swscaler @ 0x7f9648038000] deprecated pixel format
>> >> >> used, make sure you did set range correctly
>> >> >>
>> >> >>
>> >> >> _______________________________________________
>> >> >> ffmpeg-user mailing list
>> >> >> ffmpeg-user at ffmpeg.org
>> >> >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> >> >>
>> >> >> To unsubscribe, visit link above, or email
>> >> >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>> >> >
>> >> >
>> >> _______________________________________________
>> >> ffmpeg-user mailing list
>> >> ffmpeg-user at ffmpeg.org
>> >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> >>
>> >> To unsubscribe, visit link above, or email
>> >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>> >
>> >
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>
>


More information about the ffmpeg-user mailing list