Opened 13 months ago

Last modified 12 months ago

#11653 new defect

-c copy does not copy track names

Reported by: Steven Allan Spielber Owned by:
Priority: normal Component: avformat
Version: unspecified Keywords: mov
Cc: MasterQuestionable Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

ffmpeg -i input.mp4 -map 0 -c copy -movflags +faststart output.mp4
does not copy track names

Change History (13)

comment:1 by Jack Lau, 13 months ago

Could you provide the specific ffmepg version you use to test.

I see no issues using the latest master code.

comment:2 by Steven Allan Spielber, 13 months ago

launch ffmpeg without arguments I get

ffmpeg version N-113645-g1e7d2007c3-20240214 Copyright (c) 2000-2024 the FFmpeg developers

built with gcc 13.2.0 (crosstool-NG 1.25.0.232_c175b21)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20240214
libavutil 58. 38.100 / 58. 38.100
libavcodec 60. 39.100 / 60. 39.100
libavformat 60. 21.100 / 60. 21.100
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 17.100 / 9. 17.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100

Universal media converter

is it useful?

comment:3 by v0lt, 13 months ago

You may need to specify parameters for copying metadata.

-map 0 -map_metadata 0 -c copy -movflags use_metadata_tags

comment:4 by Chris Woods, 13 months ago

Priority: criticalnormal

comment:5 by Steven Allan Spielber, 13 months ago

I tried
ffmpeg -i input.mp4 -map 0 -map_metadata 0 -c copy -movflags +faststart output.mp4

Even
ffprobe -v error -show_streams -select_streams a input.mp4
can't find the “title”s.

Yet VLC in the source file shows titles to the audio tracks, such as "NameLanguage DD+ 5.1 HQ", it does not show them in the target file

comment:6 by Steven Allan Spielber, 12 months ago

Even -map_metadata dont work.
But I found that MediaInfo correctly reads the titles of audio tracks.

comment:7 by ePirat, 12 months ago

Can you provide a sample input file for which the titles are missing?

comment:8 by Steven Allan Spielber, 12 months ago

Sorry, no.
These are files that I would like to avoid disclosing, the smallest one is more than 1GB, I think the problem is not copying, so the source.
Here MediaInfo of source: https://privnote.com/DgfppBYD#ip5cmHu59

MediaInfo can read audio track title names in the source.

Last edited 12 months ago by Steven Allan Spielber (previous) (diff)

comment:9 by MasterQuestionable, 12 months ago

Cc: MasterQuestionable added
Component: undeterminedavformat
Keywords: mov added

͏    I believe "-c copy" alike (Streamcopy) is supposed to only handle the core media data alone.
͏    Not caring any metadata (those non-essential) things.

͏    Anyway, the metadata things are poorly defined after all.
͏    Through inconsistency everywhere.
͏    So expect parsing anomalies in general.

͏    Note per your previous command:
͏    You haven't tried adding the "use_metadata_tags" into "-movflags".
͏    E.g. -movflags +faststart+use_metadata_tags

comment:10 by Steven Allan Spielber, 12 months ago

It didn't work.
Is there a script that

  • works on all mp4 or mkv in the current folder.
  • Compress to x265 or copies the video as well by just remapping it to avoid seek errors in viewing, copying everything else
  • copy leaving the audio traces unchanged, also preserving the track titles.
  • also copies the subtitles, again preserving the track name, not just the language
  • copy all metadata

Sorry, but I don't know ffmpeg

Last edited 12 months ago by Steven Allan Spielber (previous) (diff)

comment:11 by MasterQuestionable, 12 months ago

͏    Sorry, what you request seem not yet well-implemented.
͏    (much beyond script issue, but core definitions)

comment:12 by Steven Allan Spielber, 12 months ago

I suspected as much. 🤢
Is there hope that it will be properly implemented?
Should I write the request in a particular section?
The problem is that it can't read the audio/video/subtitle track names but only the languages, right?

comment:13 by MasterQuestionable, 12 months ago

͏    Perhaps not just what it seems.
͏    Fundamentally so many things wrong with current metadata definition.
͏    (and in fact beyond metadata)

Note: See TracTickets for help on using tickets.