Понимание (и перекодирование) длительности и поиск в файлах.ogv?
Я использую recordMyDesktop v0.3.8.1 в Ubuntu 11.04 для захвата .ogv
моей сессии. После того, как я закончу, я открываю .ogv
в медиаплеере VLC 1.1.9 Багаж; Вот как это выглядит:
... в частности, нет никакой длины - и, кроме того, поиск ужасен.
Теперь можно обвинить в этом старое программное обеспечение и т. Д., Но потом я загружаю
http://archive.org/download/Elephants_Dream_teaser_2/elephantsdream_teaser.ogv
... и откройте это в той же версии VLC - и о чудо
... продолжительность этого файла распознается VLC; и кроме того, поиск работает относительно хорошо!
Итак, я пытаюсь сравнить эти два файла, используя oggz-info
:
$ oggz-info ./out.ogv ./elephantsdream_teaser.ogv
Filename: ./out.ogv
Content-Duration: 00:00:34.916
Skeleton: serialno 1766583216
3 packets in 3 pages, 1.0 packets/page, 36.842% Ogg overhead
Presentation-Time: 0.000
Basetime: 0.000
Theora: serialno 0666666463
842 packets in 56 pages, 15.0 packets/page, 0.593% Ogg overhead
Theora-Version: 3.2.1
Video-Framerate: 24.000 fps
Video-Width: 640
Video-Height: 480
------------------------------------------------------------
Filename: ./elephantsdream_teaser.ogv
Content-Duration: 00:01:15.228
Theora: serialno 3398283591
1799 packets in 310 pages, 5.8 packets/page, 0.594% Ogg overhead
Theora-Version: 3.2.1
Video-Framerate: 24.000 fps
Video-Width: 532
Video-Height: 300
Vorbis: serialno 4073121151
3295 packets in 76 pages, 43.4 packets/page, 0.821% Ogg overhead
Audio-Samplerate: 44100 Hz
Audio-Channels: 2
... и единственное, что я могу заметить, это: ./out.ogv
есть скелет, но нет звука; ./elephantsdream_teaser.ogv
не имеет скелета, но имеет звуковую дорожку. Я не думаю, что аудио является основным отличием здесь, так как я взял recordmydesktop
с аудио, и они ведут себя одинаково - и я также удалил скелет из этих видео, используя oggCat
, без улучшения в VLC.
Я знаю, что: ( Настройка серверов для Ogg Media - HTTP | MDN):
Формат Ogg не инкапсулирует продолжительность медиа
( Получение длины ogg-трека из s3 без загрузки всего файла):
Способ [получить длину] состоит в том, чтобы использовать HTTP-запросы диапазона, чтобы извлечь конец файла, найти последнюю страницу Ogg и извлечь из нее временную метку.
видеопоток состоит из I-кадров (которые являются полными изображениями) и P-кадров (которые являются дельта-изображениями для ведущего I-кадра)
( Thundering Herd: индексирование ключевых кадров в видео Ogg для быстрого поиска)
когда мы ищем видео Ogg/Theora к целевому времени, мы должны выполнить бисекционный поиск по файлу, чтобы найти целевой видеокадр Theora... Если бы мы заранее знали, где находятся ключевые кадры, нам не нужно было бы делать любые поиски пополам
Итак, разница между out.ogv
от recordmydesktop
, а также elephantsdream_teaser.ogv
с точки зрения производительности в VLC, должен иметь отношение к ключевым кадрам. Итак, мои вопросы:
- Какой инструмент я могу использовать, чтобы проверить разницу между этими двумя файлами с точки зрения существования и количества ключевых кадров?
- Какой инструмент я могу использовать, чтобы конвертировать
out.ogv
к версии, которая ведет себя так же в VLC (показывая продолжительность, и с разумным временем поиска), какelephantsdream_teaser.ogv
делает - надеюсь, без перекодировки с потерями?