Есть ли возможность в программах для проигрывания видео (например Gom player, Classic media player или Win media player) возможность смотреть наоборот, те с конца, сзади-на-перёд?
Потому что кодеки используют разностное сжатие между ключевыми кадрами. И чтобы получить картинку кадра при обычном проигрывании, нужен только предыдущий кадр, а при реверсивном - сначала найти ближайший ключевой, а потом применить все разности от него до текущего.
Это поток кадров в фильме. Время от времени есть ключевые кадры — обычно, это кадры, значительно отличающиеся картинкой. Между ключевыми кадрами идут обычные кадры — обычно, с незначительными изменениями от одного к другому. Поэтому кодек хранит ключевые кадры целиком, а для остальных составляет "дельты". Так, пусть d[1] - разность между ключевым кадром (KF) и первым кадром (k[1]), d[2] - разность между k[2] и k[1], и так до следующего ключевого кадра KF. Пусть в какой-то момент нам нужно показать i-й кадр (k[i]). При прямом воспроизведении у нас уже есть k[i-1], и мы просто применяем к нему d[i]. При обратном воспроизведении нам нужно просканировать всю цепочку k[i], k[i-1], ..., k[1], KF (дойти до ближайшего ключевого кадра) и последовательно применить к нему все d[1], d[2], ..., d[i].
С учетом того, что делать это нужно для каждого кадра, то получается весьма дорогая по времени и ресурсам операция.
Ну и вопросы :) Это сильно зависит от конкретного видео (частоты ключевых кадров). И вообще, я не эксперт в видео. Думаю, если файл лежит локально, то какого-нибудь современного Core2Duo должно хватать. :)
можно закодить так, что будет частокол из кеёв, и тогда крутиться будет одинаково — хошь вдоль/хошь поперек. Можно поставить (при кодировании) интервал в 500 фреймов между кеями, и тогда при плейбеке реверсом будете ждать до морковкина заговенья, пока декодер распакует пару соседей. Вам же выше вроде все доходчиво изложили, перечитайте.
no subject
Date: 2008-05-15 06:05 pm (UTC)только мощей у вашего компа наврядли хватит в реал-тайме этот финт гладко проделывать. Почему — толго разжевывать :)
no subject
Date: 2008-05-15 06:10 pm (UTC)no subject
Date: 2008-05-15 06:17 pm (UTC)no subject
Date: 2008-05-15 06:19 pm (UTC)no subject
Date: 2008-05-15 06:39 pm (UTC)Это поток кадров в фильме. Время от времени есть ключевые кадры — обычно, это кадры, значительно отличающиеся картинкой. Между ключевыми кадрами идут обычные кадры — обычно, с незначительными изменениями от одного к другому.
Поэтому кодек хранит ключевые кадры целиком, а для остальных составляет "дельты".
Так, пусть d[1] - разность между ключевым кадром (KF) и первым кадром (k[1]), d[2] - разность между k[2] и k[1], и так до следующего ключевого кадра KF.
Пусть в какой-то момент нам нужно показать i-й кадр (k[i]).
При прямом воспроизведении у нас уже есть k[i-1], и мы просто применяем к нему d[i].
При обратном воспроизведении нам нужно просканировать всю цепочку k[i], k[i-1], ..., k[1], KF (дойти до ближайшего ключевого кадра) и последовательно применить к нему все d[1], d[2], ..., d[i].
С учетом того, что делать это нужно для каждого кадра, то получается весьма дорогая по времени и ресурсам операция.
no subject
Date: 2008-05-15 06:44 pm (UTC)Качество: DVDRip
Формат: AVI
Видео кодек: DivX
Аудио кодек: MP3
Видео: 512x384; NTSC 4:3 29.97fps; 1510 Kbps DivX 3.11 Low Motion
Аудио: 128 Kbps VBR Lame MP3
no subject
Date: 2008-05-15 06:46 pm (UTC)Это сильно зависит от конкретного видео (частоты ключевых кадров).
И вообще, я не эксперт в видео. Думаю, если файл лежит локально, то какого-нибудь современного Core2Duo должно хватать. :)
no subject
Date: 2008-05-15 06:49 pm (UTC)no subject
Date: 2008-05-15 06:53 pm (UTC)