Aktualisierung der mp4-Kapitelzeiten und -namen mit ffmpeg?

1093
cogm

Ich versuche, einer mp4-Datei benutzerdefinierte Kapitel mit ffmpeg hinzuzufügen, indem Sie die Metadatendatei extrahieren und dieser Anleitung folgen .

Wenn ich jedoch die Metadatendatei bearbeite, um einen der Kapitelnamen zu ändern, ignoriert der zweite Befehl zum erneuten Hinzufügen der Metadaten die Änderungen an den Kapiteln und belässt sie so, wie sie sind. Es liest die Metadatendatei auf jeden Fall korrekt ein, denn wenn ffmpeg die Daten der beiden Eingabedateien ausgibt, werden die Streams des mp4 und alle Metadaten der Metadatendatei gedruckt, wobei alle Kapitel korrekt formatiert und analysiert werden.

Sobald die Ausgabedatei erstellt wurde, hat sie jedoch wieder die alten Kapitelnamen. Wenn ich andere Metadaten ändere, die funktionieren (z. B. den Titel- oder Interpretenschlüssel), tun dies die Kapitel nicht.

Vollständiges Protokoll des Starts des Befehls:

PS D:\ffmpeg> ./bin/ffmpeg.exe -i .\new_file.mp4 -i FFMETADATAFILE -map_metadata 1 -codec copy .\output.mp4 ffmpeg version N-90979-g08032331ac Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 18.100 / 56. 18.100 libavcodec 58. 19.100 / 58. 19.100 libavformat 58. 13.101 / 58. 13.101 libavdevice 58. 4.100 / 58. 4.100 libavfilter 7. 21.100 / 7. 21.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\new_file.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 title : new_file encoder : Lavf57.46.100 Duration: 02:01:34.85, start: 0.000000, bitrate: 2940 kb/s Chapter #0:0: start 0.000000, end 628.962000 Metadata: title : Chapter 1 Chapter #0:1: start 628.962000, end 1042.083000 Metadata: title : Chapter 2 Chapter #0:2: start 1042.083000, end 1882.172000 Metadata: title : Chapter 3 Chapter #0:3: start 1882.172000, end 2479.102000 Metadata: title : Chapter 4 Chapter #0:4: start 2479.102000, end 3095.718000 Metadata: title : Chapter 5 Chapter #0:5: start 3095.718000, end 3681.511000 Metadata: title : Chapter 6 Chapter #0:6: start 3681.511000, end 4145.600000 Metadata: title : Chapter 7 Chapter #0:7: start 4145.600000, end 5149.019000 Metadata: title : Chapter 8 Chapter #0:8: start 5149.019000, end 5704.908000 Metadata: title : Chapter 9 Chapter #0:9: start 5704.908000, end 5980.850000 Metadata: title : Chapter 10 Chapter #0:10: start 5980.850000, end 6826.403000 Metadata: title : Chapter 11 Chapter #0:11: start 6826.403000, end 7294.746000 Metadata: title : Chapter 12 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x816 [SAR 1:1 DAR 40:17], 2678 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default) Metadata: handler_name : SoundHandler Stream #0:2(eng): Data: bin_data (text / 0x74786574) Metadata: handler_name : SubtitleHandler Input #1, ffmetadata, from 'FFMETADATAFILE': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 title : Title encoder : Lavf58.13.101 Duration: 02:01:34.75, start: 0.000000, bitrate: 0 kb/s Chapter #1:0: start 0.000000, end 628.962000 Metadata: title : Edited Name Chapter #1:1: start 628.962000, end 1042.083000 Metadata: title : Chapter 2 Chapter #1:2: start 1042.083000, end 1882.172000 Metadata: title : Chapter 3 Chapter #1:3: start 1882.172000, end 2479.102000 Metadata: title : Chapter 4 Chapter #1:4: start 2479.102000, end 3095.718000 Metadata: title : Chapter 5 Chapter #1:5: start 3095.718000, end 3681.511000 Metadata: title : Chapter 6 Chapter #1:6: start 3681.511000, end 4145.600000 Metadata: title : Chapter 7 Chapter #1:7: start 4145.600000, end 5149.019000 Metadata: title : Chapter 8 Chapter #1:8: start 5149.019000, end 5704.908000 Metadata: title : Chapter 9 Chapter #1:9: start 5704.908000, end 5980.850000 Metadata: title : Chapter 10 Chapter #1:10: start 5980.850000, end 6826.403000 Metadata: title : Chapter 11 Chapter #1:11: start 6826.403000, end 7294.746000 Metadata: title : Chapter 12 File '.\output.mp4' already exists. Overwrite ? [y/N] y Output #0, mp4, to '.\output.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 title : Title encoder : Lavf58.13.101 Chapter #0:0: start 0.000000, end 628.962000 Metadata: title : Chapter 1 Chapter #0:1: start 628.962000, end 1042.083000 Metadata: title : Chapter 2 Chapter #0:2: start 1042.083000, end 1882.172000 Metadata: title : Chapter 3 Chapter #0:3: start 1882.172000, end 2479.102000 Metadata: title : Chapter 4 Chapter #0:4: start 2479.102000, end 3095.718000 Metadata: title : Chapter 5 Chapter #0:5: start 3095.718000, end 3681.511000 Metadata: title : Chapter 6 Chapter #0:6: start 3681.511000, end 4145.600000 Metadata: title : Chapter 7 Chapter #0:7: start 4145.600000, end 5149.019000 Metadata: title : Chapter 8 Chapter #0:8: start 5149.019000, end 5704.908000 Metadata: title : Chapter 9 Chapter #0:9: start 5704.908000, end 5980.850000 Metadata: title : Chapter 10 Chapter #0:10: start 5980.850000, end 6826.403000 Metadata: title : Chapter 11 Chapter #0:11: start 6826.403000, end 7294.746000 Metadata: title : Chapter 12 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x816 [SAR 1:1 DAR 40:17], q=2-31, 2678 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 90k tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default) Metadata: handler_name : SoundHandler Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) 

Sie sehen, dass ich den Titelschlüssel und den Namen des ersten Kapitels in Input # 1, der Metadatendatei, bearbeitet habe. In der Ausgabe unterscheidet sich jedoch nur der Titel.

Jede Hilfe geschätzt.

1
Geben Sie den vollständigen Befehl und das Protokoll frei. Gyan vor 5 Jahren 0
@Gyan Hab es der Frage hinzugefügt. cogm vor 5 Jahren 0

1 Antwort auf die Frage

1
cogm

Gelöst - sieht so aus, als ob -map_metadatanur die oberen Tasten vor den Kapiteln sind, müssen -map_chaptersSie auch die Kapitel abrufen.

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -map_chapters 1 -codec copy OUTPUT