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

Thibeau vercruyssen.thibeau at gmail.com
Sun Feb 7 17:00:37 EET 2021


Apologies,  it makes sense if it chooses from a list of recognized values.
Thx for all the help and patience!

On Sun, 7 Feb 2021 at 14:52, Paul B Mahol <onemda at gmail.com> wrote:

> 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".
> >
> >
> _______________________________________________
> 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