Topic: YouTube и файлы с переменной частотой кадров (VFR)

Сохранил ролик из кэша браузера по ссылке http://www.youtube.com/watch?v=NZcsNE6wCHI
Выбрал разрешение 720p, получил файл размером 118 МБ.
Переименовал: The Witcher - Intro.mp4

Решил посмотреть его в плеере с повышением частоты кадров, т.е. с плавностью. Уплавнитель SVP.
И смотрю, что-то он дергается. Давай разбираться, отрубил SVP - ролик все-равно дергается.

Решил посмотреть статистику по mkv2vfr от Haali. Для этого перегнал дорожки из mp4 в mkv при помощи gdsmux.
Запускаю и получаю

# timecode format v1
Assume 23.976
0,11588,25.0000

И ошибку: "Frame duration is 0!"

Думаю, что-то здесь не так. Достаю статистику из исходного MP4-файла при помощи mp4dump.
Вижу жуткую картину:

type mdia
    type mdhd
     ...
     ...
     timeScale = 25000 (0x000061a8)
     duration = 11591000 (0x00b0dd58)
    type minf
     ...
     type stbl
      type stts
       ...
        sampleCount = 11591 (0x00002d47)
        sampleDelta = 1000 (0x000003e8)
        ...
      type ctts
       version = 0 (0x00)
       flags = 0 (0x000000)
       entryCount = 1509 (0x000005e5)
        sampleCount = 3 (0x00000003)
        sampleOffset = 1000 (0x000003e8)
        sampleCount[1] = 1 (0x00000001)
        sampleOffset[1] = 3000 (0x00000bb8)
        sampleCount[2] = 2 (0x00000002)
        sampleOffset[2] = 0 (0x00000000)
        sampleCount[3] = 1 (0x00000001)
        sampleOffset[3] = 3000 (0x00000bb8)
        sampleCount[4] = 2 (0x00000002)
        sampleOffset[4] = 0 (0x00000000)
        sampleCount[5] = 1 (0x00000001)
        sampleOffset[5] = 3000 (0x00000bb8)
        sampleCount[6] = 2 (0x00000002)
        sampleOffset[6] = 0 (0x00000000)
        sampleCount[7] = 1 (0x00000001)
        sampleOffset[7] = 3000 (0x00000bb8)
        sampleCount[8] = 2 (0x00000002)
        sampleOffset[8] = 0 (0x00000000)
        sampleCount[9] = 1 (0x00000001)
        sampleOffset[9] = 3000 (0x00000bb8)
        sampleCount[10] = 2 (0x00000002)
        sampleOffset[10] = 0 (0x00000000)
        sampleCount[11] = 1 (0x00000001)
        sampleOffset[11] = 3000 (0x00000bb8)
        sampleCount[12] = 2 (0x00000002)
        sampleOffset[12] = 0 (0x00000000)
        sampleCount[13] = 1 (0x00000001)
        sampleOffset[13] = 3000 (0x00000bb8)
        ...

Это означает, что показываем три кадра длительностью 1000. Это нормально. Выделено в отрывке статистики зеленым. А затем все сплошь неравномерно, дергано. Выделено красным: один кадр длительностью 3000, а затем 2 кадра пропускаем (sampleOffset=0). И так почти весь файл. yikes

ffdShow так и показывает, переменная (скачущая) частота кадров, которая то 25 fps, то 25/3 = 8,3 fps и в добавок плавает туда-сюда. Картинка при этом смотрится просто отвратительно!

Что это и как с этим бороться? hmm

2 (edited by Rimsky 26-01-2012 04:56:21)

Re: YouTube и файлы с переменной частотой кадров (VFR)

http://ru.savefrom.net там же есть плуг для разных браузеров
сохраняю через него, никаких проблем с тытрубочными роликами и SVP не замечал
но проверю дома

Re: YouTube и файлы с переменной частотой кадров (VFR)

Rimsky
Спасибо, попробую.
1. Стоит ли лечить конкретный убитый файл?
2. В чем причина плавающей частоты: кривой исходник, вредительство сервиса youtube, некорректность кэша браузера, кривость рук потерпевшего? wink

Re: YouTube и файлы с переменной частотой кадров (VFR)

MAG79
1. нет
2. имхо "некорректность кэша браузера"

Re: YouTube и файлы с переменной частотой кадров (VFR)

1. А я уже вылечил tongue
Перекодировал файл через gdsmux, сжимал x264vfw с CRF=19 и галками Fast Decode и Zero Latency
В итоге получил файл с равномерным видео.
Отчет mkv2vfr:

# timecode format v1
Assume 23.976
0,11588,25.0000
11589,11590,12.5000

Упавшая частота кадров на последних двух кадрах (11589 - 11590) - это уже пустяки! wink

Выходит, кадры были все целые. Кривость была в длительностях каждого кадра, которая по какой-то причине в файле оказалась отличной от нормальной (1000).
Кто прописал кривую длительность кадрам (автор/youtube/браузер)? hmm

Re: YouTube и файлы с переменной частотой кадров (VFR)

MAG79
автор или браузер wink

Проверил на работе на свп 3,0,6 - частота 25.000 как прибитая
Посмотрел на настройках ниже, только вот битрейта маловато, картинка рассыпается блоками, и эти блоки свп честно пытается уплавнять, а в остальном все гут


Параметры последнего обработанного файла видео:
Имя файла: The Witcher - Intro.mp4
Размер кадра и частота: 1280x720 pixels, 25 fps

Определившиеся параметры монитора
Размер экрана и частота обновления: 1920x1080 pixels, 60.125 Hz

Данные о повышении плавности видео
Коэффициент повышения плавности: 2:1
Результирующая частота видеокадров: 50 fps

Текущий определившийся профиль: 1280x720@24

Параметры преобразования видео по профилю
[ExMethod=MSmoothFps_ByPixel]    Повышение плавности: Обычное
[ExAlgo=1]            SVP-шейдер: 1. Простой
[ExMulti=2:1:2]            Изменение частоты кадров: Удвоение кадров (2x)
[ExMiniCount=1:1]        Размер расчетных кадров: Полный размер
[ExRad=2p]            Радиус поиска: 2 пиксела
[ExSearch=4]            Тип поиска: Шестиугольниками
[ExPel=1]            Точность прогнозирования движения: До пиксела
[ExRecalc=0]            Уточнение векторов: Не уточнять
[ExBlockSize=16x16]        Размер блоков: 16x16 пикселей
[ExOverlap=0]            Перекрытие блоков: Без перекрытия
[ExSadml=100]            Подавление площадных артефактов: Среднее
[ExSadgamma=1]            Маска площадных артефактов: Обычная
[ExBlend=false]            Построение на смене сцен: Повторять кадры
[ExDwnResize=0]            Уменьшение размера кадра: Не уменьшать
[ExConvertFps=false]        Смешивание кадров до частоты экрана:false

Параметры по меню
[svp_libflowgpu=0]        GPU-ускорение (OpenCL): false
[ExTreads=0]            Количество потоков: Авто
[Borderlight=0]            Подсветка черных полей: false
[ExStretch=0]            Растяжение кадра: Не растягивать
[ExCrop=-1]            Подрезка краев: Не подрезать
[VDelay=0]            Задержка видео: 0 мсек
[ExDemo=0]            Демонстрационный режим: false
[ExTearingTest=0]        Тест дрожания: false
[EFrameDoubling=0]        Аварийное удвоение: false
[StopSmoothDelayOnRewind=1]    Плавность на перемотке: Отключить на 1 сек

Re: YouTube и файлы с переменной частотой кадров (VFR)

Rimsky
У тебя играется плавно. Хорошо. Ищем причину дальше.

Мой браузер: Opera 11.61
Сохранял так: включил воспроизведение, выбрал разрешение 720p, а затем после того как файл закэшировался целиком достал самый большой файл из User\AppData\Local\Opera\cache. Переименовал.
Частоту кадров смотрел в ffdShow, вкладка "Информация & ЦПУ".

У тебя размер файла такой же (118 МБ)?

8 (edited by Rimsky 26-01-2012 05:34:20)

Re: YouTube и файлы с переменной частотой кадров (VFR)

MAG79
огнелис 3,6,23
сохранял через сэйвфром (выше цынк)
Размер проводник показывает 118 МБ (124 300 670 байт)
Частоту кадров смотрел в ффд и по окнам графиков

MediaInfo

General
Complete name                    : C:\Downloads\The Witcher - Intro.mp4
Format                           : MPEG-4
Format profile                   : Base Media / Version 2
Codec ID                         : mp42
File size                        : 119 MiB
Duration                         : 7mn 47s
Overall bit rate                 : 2 126 Kbps
Encoded date                     : UTC 2009-01-09 22:28:41
Tagged date                      : UTC 2009-01-09 22:28:41
gsst                             : 0
gstd                             : 468230
gssd                             : B4A7DA8E9HH1327553818660587
gshh                             : v9.nonxt4.c.youtube.com

Video
ID                               : 2
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L3.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 3 frames
Format settings, GOP             : M=1, N=60
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 7mn 47s
Bit rate                         : 2 000 Kbps
Maximum bit rate                 : 4 950 Kbps
Width                            : 1 280 pixels
Height                           : 720 pixels
Display aspect ratio             : 16:9
Frame rate mode                  : Constant
Frame rate                       : 25.000 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.087
Stream size                      : 112 MiB (94%)
Title                            : (C) 2007 Google Inc. v08.13.2007.
Encoded date                     : UTC 2009-01-09 22:28:41
Tagged date                      : UTC 2009-01-09 22:28:43

Audio
ID                               : 1
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format profile                   : LC
Codec ID                         : 40
Duration                         : 7mn 47s
Bit rate mode                    : Variable
Bit rate                         : 123 Kbps
Maximum bit rate                 : 244 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 44.1 KHz
Compression mode                 : Lossy
Stream size                      : 6.86 MiB (6%)
Title                            : (C) 2007 Google Inc. v08.13.2007.
Encoded date                     : UTC 2009-01-09 22:28:41
Tagged date                      : UTC 2009-01-09 22:28:43

Re: YouTube и файлы с переменной частотой кадров (VFR)

(124 300 670 байт)
Хм. 124 271 197 - это точный размер моего файла. hmm

10 (edited by Rimsky 26-01-2012 05:43:16)

Re: YouTube и файлы с переменной частотой кадров (VFR)

MAG79
скачанный или пересохраненный?
если скачанный - юзай savefrom.net
если пересохраненный - все равно юзай savefrom.net и не пересохраняй wink

Re: YouTube и файлы с переменной частотой кадров (VFR)

Скачанный. Пока разговор про него.
MediaInfo, выделены отличающиеся значения

General
Complete name                            : I:\Downloads\Rimsky\The Witcher - Intro.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42
File size                                : 119 MiB
Duration                                 : 7mn 43s
Overall bit rate mode                    : Variable

Overall bit rate                         : 2 144 Kbps
Encoded date                             : UTC 2009-01-09 22:28:41
Tagged date                              : UTC 2009-01-09 22:28:41
gsst                                     : 4160
gstd                                     : 468230
gssd                                     : B4A7DDA41MH1327497388844292
gshh                                     : v1.cache3.c.youtube.com

Video
ID                                       : 2
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L3.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 3 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 7mn 43s
Bit rate                                 : 2 018 Kbps
Maximum bit rate                         : 4 950 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 25.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.088
Stream size                              : 112 MiB (94%)
Title                                    : (C) 2007 Google Inc. v08.13.2007.
Encoded date                             : UTC 2009-01-09 22:28:41
Tagged date                              : UTC 2009-01-09 22:28:43

Audio
ID                                       : 1
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 7mn 43s
Bit rate mode                            : Variable
Bit rate                                 : 123 Kbps
Maximum bit rate                         : 244 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz
Compression mode                         : Lossy
Stream size                              : 6.85 MiB (6%)
Title                                    : (C) 2007 Google Inc. v08.13.2007.
Encoded date                             : UTC 2009-01-09 22:28:41
Tagged date                              : UTC 2009-01-09 22:28:43

Нет:

Format settings, GOP             : M=1, N=60

12 (edited by Rimsky 26-01-2012 06:52:03)

Re: YouTube и файлы с переменной частотой кадров (VFR)

сам видишь самые ключевые позиции: Duration, Overall bit rate, Bits/(Pixel*Frame) - разнятся
а отсутствующие кабак и гоп

(хы!)
- это вообще алес, опера сама чтоли перекодировала? иначе с чего такая разница

Re: YouTube и файлы с переменной частотой кадров (VFR)

Rimsky
Скачал через предложенный тобой сервис http://ru.savefrom.net
Получил, как и у тебя файлик, размером 124 300 670 байт.
Играется равномерно. Дополнительные кадры (длительностью те самые 4 секунды разницы) появились в начале клипа. Так что однозначно, по ссылке скачивания и по ссылке просмотра в YouTube передаются разные файлы.

Вывод. Лучше качать через сервис: http://ru.savefrom.net
Особенно, если есть проблема с равномерным проигрыванием.

14 (edited by vivan 26-01-2012 10:44:26)

Re: YouTube и файлы с переменной частотой кадров (VFR)

Есть подозрение что файл в кэше просто не с самого начала. Например когда переключали качество - успело часть в низком скачаться, проиграться, и 720p начало качаться не с начала.
Мб поэтому инфы о кабаке и GOP'ах нет - видимо они только в заголовке хранятся. Мб поэтому его начало так глючить с VFR.
И при чем тут перекодировка? Отсутвие инфы - это отсутсвие инфы, вот если бы там был CAVLC вместо кабака... То было очень странно.
UPD: Кстати еще одна мысль - gsst это какое-то число, которое характеризует начало файла относительно исходного на сервере (если он с начала - то там 0, если нет - то непонятно в чем измеряемая величина (точно не кадры, мб блоки...), а gstd - конец.

З.ы. too slow, да.
кстати, лично у меня, что в кэше, что скачанный с помощью аддона YouTube Downloader файлы полностью идентичны.

Re: YouTube и файлы с переменной частотой кадров (VFR)

vivan
720p начало качаться не с начала
А это мысль! cool
На самом деле. Сейчас перепроверил. На YouTube первые кадры в окне играются, а в кэш не попали. hmm

16 (edited by Rimsky 26-01-2012 10:42:15)

Re: YouTube и файлы с переменной частотой кадров (VFR)

vivan
Есть подозрение что файл в кэше просто не с самого начала. Например когда переключали качество - успело часть в низком скачаться, проиграться, и 720p начало качаться не с начала

действительно, как я сам не догадался? видимо потому что у меня есть воттакая зеленовая стрелочка wink
http://www.svp-team.com/forum/misc.php?item=1016

Post's attachments

Буфер обмена02.png, 3.95 kb, 638 x 23
Буфер обмена02.png 3.95 kb, 799 downloads since 2012-01-26 

Re: YouTube и файлы с переменной частотой кадров (VFR)

YouTube - жестокий сервис. Никогда не знаешь, что он выкинет в следующий раз. smile

MAG79, savefromnet  для Opera выпустили собственную кнопку. Рекомендую - сразу ссылки на скачивание на страницах добавляет.

18 (edited by NightFox 26-01-2012 11:52:08)

Re: YouTube и файлы с переменной частотой кадров (VFR)

Сколько скачиваю через лисий flashgot, никогда проблем с видео не было (оно ещё даёт выбрать какого качества видео качать).

Re: YouTube и файлы с переменной частотой кадров (VFR)

Rimsky
потому что у меня есть воттакая зеленовая стрелочка

http://www.svp-team.com/forum/misc.php?item=1016

Теперь и у меня есть wink
Спасибо, Noweol'у.

NightFox
через лисий flashgot, никогда проблем с видео не было
Значит, мне не повезло с браузером Opera и копанием в его кэше вручную. Теперь буду знать, как правильно сохранять видео из YouTube.  roll
Спасибо за информацию насчет flashgot. cool

Re: YouTube и файлы с переменной частотой кадров (VFR)

Тестовый ролик в коллекцию:
http://youtu.be/4B36Lr0Unp4
Много быстрого движения на пёстром фоне.