ffmpeg не записывать метаданные в aac

мое мнение:

ffmpeg -i input.ogg -metadata Album='Vitaly' output.aac

вернулся:

    ffmpeg version 3.3.4-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
      built with gcc 6.4.0 (Debian 6.4.0-4) 20170820
      configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
      libavutil      55. 58.100 / 55. 58.100
      libavcodec     57. 89.100 / 57. 89.100
      libavformat    57. 71.100 / 57. 71.100
      libavdevice    57.  6.100 / 57.  6.100
      libavfilter     6. 82.100 /  6. 82.100
      libswscale      4.  6.100 /  4.  6.100
      libswresample   2.  7.100 /  2.  7.100
      libpostproc    54.  5.100 / 54.  5.100
    Input #0, ogg, from 'concatenated_by_python.ogg':
      Duration: 00:01:27.62, start: 0.000000, bitrate: 41 kb/s
        Stream #0:0: Audio: vorbis, 22050 Hz, mono, fltp, 35 kb/s
    File 'concatenated_by_python__output_ffmpeg.aac' already exists. Overwrite ? [y/N] y
    Stream mapping:
      Stream #0:0 -> #0:0 (vorbis (native) -> aac (native))
    Press [q] to stop, [?] for help
    Output #0, adts, to 'concatenated_by_python__output_ffmpeg.aac':
      Metadata:
        Album           : Vitaly
        encoder         : Lavf57.71.100
        Stream #0:0: Audio: aac (LC), 22050 Hz, mono, fltp, 69 kb/s
        Metadata:
          encoder         : Lavc57.89.100 aac
    size=     818kB time=00:01:28.21 bitrate=  75.9kbits/s speed=  53x
    video:0kB audio:805kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.614694%
    [aac @ 0x4c73760] Qavg: 2966.099

Как видите - Metadata блок и Album : Vitaly

но ffprobe теперь показываются любые метаданные:

$ ffprobe -v error -show_format -show_streams output.aac
[STREAM]
index=0
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/22050
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=fltp
sample_rate=22050
channels=1
channel_layout=mono
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/28224000
start_pts=N/A
start_time=N/A
duration_ts=2696886288
duration=95.552944
bit_rate=70112
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[FORMAT]
filename=concatenated_by_python__output_ffmpeg.aac
nb_streams=1
nb_programs=0
format_name=aac
format_long_name=raw ADTS AAC (Advanced Audio Coding)
start_time=N/A
duration=95.552944
size=837426
bit_rate=70111
probe_score=51
[/FORMAT]

Я также проверил в Finder на macOS-нулевые метаданные.

но я проверил настройку метаданных на ogg вместо aac-и это работает. Также я обнаружил, что ffmpeg можно установить метаданные m4a, но я не могу использовать этот формат для меня проект, потому что Android не может играть из коробки.

похоже на ошибку в ffmpeg - мне нужно создать тикет об этом?

14
задан Vitaly Zdanevich
07.03.2023 3:25 Количество просмотров материала 2434
Распечатать страницу

1 ответ

то, что вы пишете это сырье adts AAC битовый поток (.aac). Хотя эти битовые потоки могут содержать фреймы метаданных (ID3), ffmpeg не может их записать. The id3v2 инструмент командной строки должен быть в состоянии сделать это.

С ffmpeg вам нужно записать свой аудиопоток в контейнер, который может хранить такие метаданные, например .mp4,.mov или .mkv. Например:

ffmpeg -i <input> -metadata title=Foo -metadata album=Bar output.mp4
0
отвечен slhck 2023-03-08 11:13

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх