Екатеринбург
+7(343)213-56-67

t2135667@yandex.ru


Long GOP видео

Главная | Информация | Long GOP видео

Про Long GOP видео кодеки

 

При практической работе в Премьере можно заметить что материал с разных камер по разному нагружает компьютер. DSLR обрабатывается легче чем материал с GoPro, DJI и подобных камер использующих так называемые Long GOP кодеки.
Long GOP обозначает длинный GOP, а GOP это дословно "группа кадров" которые сжимаются вместе. За счет того что алгоритм сжатия использует информацию всех кадров группы, сжатый размер получается в 2-3 раза меньше чем при сжатии каждого кадра по отдельности.

Посмотрим насколько длинный этот мифический Long GOP, и насколько он труднее для обработки компьютером.

Анализировать будем при помощи ffprobe (из состава ffmpeg) файл с камеры sony fdr-ax100:
ffprobe -select_streams 0 -show_frames r:\ax100.mp4 > r:\ax100.txt

получившийся лог закидываем в chrome и поиском смотрим сколько кадров всего

h.265

и сколько из них ключевых

h.265

Long GOP для Sony AX100 это всего 12 кадров (360/30), причем, если ax100 писала в режиме 100 fps, то GOP оказывается по 48 кадров, что кратно меньше увеличению скорости.

Этим методом получена следующая таблица:

Камера Структура GOP Размер
Samsung Galaxy Tab 4IP30
iPad 3IP30
iPhone 6IP30
iPhone 8+/1080p30 HEVC 8mbpsIBBBP30
GoPro HERO 3IP15
FujifilmX-H1/2160p30 100mbpsIP15(30)
Olympus E-M1 Mark II/2160p24 175mbpsIBBP (All-I)12
Panasonic G7IBBP12
Panasonic GX7IP12
Panasonic GX80/1080p50IBBP24
Panasonic GH4IBBP24
Panasonic GH5/1080p25-10bit422 100 mbpsIBBP12
Panasonic GH5/1080p25-10bit422 200 mbpsAll-I1
Panasonic GH5/2160p50-8bit420 150 mbpsIBBP24
Panasonic GH5/2160p25-10bit420 400 mbpsAll-I1
Panasonic S1/2160p25-8bit420 100 mbpsIBBP12
Panasonic S1/2160p25-10bit420 HEVC 72 mbpsIP12
Nikon D5100IP15
Nikon D750IBBP15
Canon 700DIP12
Canon 5D mark 2IP12
Canon XF405/1080p50 35mbpsIBBP24
Canon XF405/2160p50 150mbpsIBBP24
Canon C200/2160p50 150mbpsIBBP24
Sony NEX-5IBP12
Sony FDR-AX100E/720p100IP48
Sony FDR-AX100E/2160p25-8bit420 100mbpsIBBP12
Sony FDR-AX700E/2160p25-8bit420 100mbpsIBBP12
Sony FS7IPBBB25
DJI Phantom 4 Pro/2160p29.97 100mbpsIP30(120)
DJI Mavic Air/2160p29.97 100mbpsIP44

GOP в 12 кадров, это столько же сколько и в MPEG-2 DVD. GOP у фотоаппаратов Canon и камер GoPro по 12 кадров. Из этого можно сделать вывод, что трудности с обработкой материала подобного GoPro по сравнению с DSLR связаны не столько с Long GOP, сколько с использованием алгоритмов разной сложности сжатия из арсенала h.264. Причем в Premiere всё усложняется, потому-что он работает так, что если он не успевает распаковать один кадр, то задержка стремительно нарастает и нормальное проигрывание становится не возможным. Особняком стоят камеры коптеров DJI, у них реально длинный GOP - до 120 кадров. Не смотря на такой размер, I (ключевые) кадры идут каждый 30-й кадр. Это уже не так много, но судя по задержке на таймлайне, Премьер всё же распаковывает видео начиная с первого кадра в группе, а не с ближайшего ключевого.

Проведём простой эксперимент - перекодируем исходник DJI UHD 100 mbps в тот-же h.264 с тем же битрейтом но с GOP 12 кадров, это в 10 раз меньше, и если размер GOP имеет значение, то это будет заметно. В результате загрузка процессора при работе на таймлайне с перекодированным видео меньше не стала, но уменьшилась задержка при переносе плейхеда по таймлайну, это ожидаемо, т.к. при установке плайхеда на кадр в середине GOP, нужно распаковать 6 кадров по сравнению с 60 в оригинале.
Проведём второй эксперимент: понизим битрейт до 40 mbps. В итоге разница разительная, никаких задержек и пропусков кадра.

Olympus E-M1, камера с высоким битрейтом, но видео обрабатывается несколько легче чем видео с квадрокоптеров. В заголовке файла заявлен GOP в 12 кадров, но прямой анализ данных показывает, что все кадры I (т.е. ключевые). Вялость работы на таймлайне объясняется тем, что Премьер в любом случае распаковывает несколько кадров в буфер, и этот процесс вступает в конкуренцию с процессом отображения кадра из буфера на экране. Тут срабатывает еще такая особенность, P и B кадры распаковать легче чем I, т.е чтобы проиграть 100 кадров IBBP видео нужно существенно меньше ресурсов чем для 100 кадров All-I.

Таким образом, в большинстве случаев у кодеков h.264, h.265 первостепенное значение для комфортной работы имеет битрейт как мера количества работы по рапаковке сжатой информации. Методы кодирования (P и B-кадры, CABAC) вторые по значимости. Замыкает эту очередность размер GOP. Если программа не успевает распаковывать видео в реалтайме, то нормальная работа не возможна и размер GOP значения не имеет, если программа успевает распаковывать и видео и плавно проигрывать его, то размер GOP будет влиять на задержку при перемещении по таймлайну: если кадр распаковывается за 30 миллисекунд, то при распаковке последнего кадра в группе из 120 кадров задержка составит 3.6 сек, кадра из середины 1.8 сек, первого кадра в группе .03 сек.

Если программа не успевает обрабатывать видео, то нужно или увеличивать процессорную мощность, или использовать декодирование видео с помощью GPU.

Второй вывод - как прокси например для UHD можно использовать перекодирование в UHD h264 c потоком 40 Мб/сек, GOP длиной 5 кадров, структурой IP.

http://www.tiliam.com/Blog/2015/07/06/effective-use-long-gop-video-codecs


 

Long GOP видео, gop, gop что это,