У меня есть FLV-файл с видео тегами h264. Каждый видеотег, содержащий блок NAL IDR h264, также содержит SEI ориентации дисплея, ie моя единица доступа NAL для ключевых кадров IDR - [SEI, IDR].
По какой-то причине преобразование этого FLV-файла в h264 без опции копирования потока удаляет все сообщения SEI из всех кадров IDR. Вместо него, сразу после блоков SPS и PPS NAL, есть незарегистрированные данные одного пользователя SEI.
, т.е. использование
ffmpeg -i in.flv out.264
дает [SPS, PPS, SEI, IDR, .. .], где SEI:
x264 - ядро 155 r2917 0a84d98 - H.264 / MPEG-4 AV C код c - Copyleft 2003-2018 - http://www.videolan.org/x264.html - опции: cabac = 1 ref = 3 deblock = 1: 0: 0 analysis = 0x3: 0x113 me = hex subme = 7 psy = 1 psy_rd = 1.00: 0.00 mixed_ref = 1 me_range = 16 chroma_me = 1 trellis = 1 8x8dct = 1 cqm = 0 мертвая зона = 21,11 fast_pskip = 1 chroma_qp_offset = -2 потока = 11 lookahead_threads = 1 sled_threads = 0 nr = 0 decimate = 1 interlaced = 0 bluray_compat = 0 constrained_intra = 0 bframes = 3 b_pyramid = 2 1 b_bias = 0 direct = 1 weightb = 1 open_gop = 0 weightp = 2 keyint = 250 keyint_min = 25 scenecut = 40 intra_refresh = 0 rc_lookahead = 40 rc = crf mbtree = 1 crf = 23.0 qcomp = 0.60 qpmin = 0 qpmax = 69 qpstep = 4 ip_ratio = 1,40 aq = 1: 1,00
Однако
ffmpeg -i in.flv -c:v copy out.264
сохраняет мои сообщения SEI и в значительной степени декодирует в необработанный h264, который я помещаю в FLV m uxer для создания файла FLV в первую очередь. Почему это происходит? Есть ли флаг для выполнения кодирования, но сохранения сообщений SEI?