Skip navigation

Использование возможностей Timeshift

Для использования функций TimeShift необходимо:

1. Установить директорию, в которой будут храниться временные файлы с помощью функции SetTimeShiftFolder . Этот пункт является необходимым для запуска таймшифт.
Достаточно это сделать один раз после старта.

2. Если необходимо, изменить максимальную длительность таймшифта с помощью функции SetTimeShiftDurationMax . Значение по умолчанию 7200 секунд.
3. Запустить воспроизведение с солюшеном extTimeShift .

Все действия с таймшифтом осуществляются через глобальный объект TimeShift

Команда Stop или запуск другого контента на воспроизведение автоматически освобождает буфер таймшифта.

События

При воспроизведении с помощью солюшена extTimeShift может приходить событие с кодом 0x24 . При этом в функцию stbEvent.onEvent передается два параметра: код события и дополнительная строка json следующего вида:

{"event_code":1,"ident":"TimeShift","event_data":""}

В данном случае event_code может принимать следующие значения:

event_code Описание
1 запуск воспроизведения

2

остановка воспроизведения
3

SetSlidingMode(1) , когда воспроизведение находилось в режиме таймшифта на паузе и текущая позиция отличается от реалтайм позиции более чем на длительность максимального буфера таймшифта. Если в режиме паузы и пришло событие 3, то необходимо послать Continue

4

При заполнении буфера таймшифта. После прихода этого события в режиме SetSlidingMode(0) новые данные теряются и навигация возможна только в буфере либо переход в режим реалтайтма (сохранение с докачкой невозможно). Приход события 4 при SetSlidingMode(1) означает что буфер таймшифта заполнился и начали теряться наиболее старые данные контента

5  Приходит за 1 минуту до того как заполниться буфер таймшифта (за минуту до события 4 )
6

Приходит в процессе воспроизведения если носитель недоступен ( event_data=1 ) либо на носителе недостаточно места ( event_data=2 ). После прихода этого события воспроизведение автоматически переходит в реалтайм

Методы объекта TimeShift

TimeShift.SetTimeShiftFolder

 void SetTimeShiftFolder(string folderPath)

Устанавливает рабочую директорию для модуля TimeShift . В этой директории будут храниться рабочие и вспомогательные файлы.

Параметры:

Параметры Допустимые значения Описание
folderPath
Путь для размещения файлов таймшифта

Возвращаемое значение:

Нет.

TimeShift. SetMaxDuration

void SetMaxDuration (int duration)

Устанавливает максимальную длительность буфера таймшифта.

Параметры:

Параметры Допустимые значения Описание
duration
Максимальная длительность в секундах

Возвращаемое значение:

Нет.

TimeShift.EnterTimeShift

void EnterTimeShift()

Переключиться в режим таймшифта. При этом станут доступны команды паузы и позиционирования по текущему буферу.

Параметры: Нет.

Возвращаемое значение:

Параметры Допустимые значения Описание
error int

0 – операция завершена успешно
Иначе – ошибка.

Замечание: Работает, только если воспроизведение запущено с солюшеном extTimeShift.

TimeShift.ExitTimeShift

void ExitTimeShift()

Выйти из режима таймшифта и переключиться в режим реалтайм. При этом буфер таймшифта не сохраняется.

Параметры:

Нет.

Возвращаемое значение:

Параметры Допустимые значения Описание
error int

0 – операция завершена успешно
Иначе – ошибка.

Замечание:

Работает, только если воспроизведение запущено с солюшеном extTimeShift.

TimeShift.ExitTimeShiftAndSave

void ExitTimeShiftAndSave(string name)

Выйти из режима таймшифта и переключиться в режим реалтайм. При этом текущий буфер таймшифта сохранится как задача PVR в файле со специальным расширением.

Параметры:

Параметры  Допустимые значения Описание
name
Имя поддиректории, в которой будут сохранены все данные текущего таймшифта

Возвращаемое значение:

Параметры Допустимые значения Описание
error int

0 – операция завершена успешно
Иначе – ошибка.

TimeShift. ExitTimeShiftAndSaveDuration

void ExitTimeShiftAndSaveDuration(string name, int duration)

Выйти из режима таймшифта и остановить воспроизведение. При этом текущий буфер таймшифта сохранится как задача PVR в файле со специальным расширением. Если задан параметр duration duration , то в дополнение в этой же задаче PVR в течение duration секунд будет сохраняться текущий поток.

Параметры:

Параметры Допустимые значения Описание
name
Имя поддиректории, в которой будут сохранены все данные текущего таймшифта.
duration >= 0 Время в секундах, в течение которого ещё необходимо сохранять поток.

Возвращаемое значение:

Параметры Допустимые значения Описание
error int

0 – операция завершена успешно
Иначе – ошибка.

TimeShift. SetSlidingMode

void SetSlidingMode(bool OnOff);

Параметры:

Параметры Допустимые значения Описание
On/off

Если устанавливаем «TRUE», то буффер таймшифта по достижении своего придела начинает терять наиболее старые данные.
Если устанавливаем «FALSE», то буффер таймшифта по достижении своего придела начинает терять наиболее новые данные

Возвращаемое значение:

нет

Need Help

Дима – эксперт по работе с приставками серии MAG и автор этой статьи.

Была ли полезна эта статья?

Да Нет

Сожалеем.
Как можно улучшить эту статью?

Мы используем cookie-файлы, чтобы оптимизировать работу сайта и предоставить вам лучший интерфейс; а также для продвижения нашей продукции. Ознакомьтесь с нашей политикой Cookie, чтобы узнать, как именно мы используем cookie-файлы, и как вы можете это контролировать.
Если вы продолжите пользоваться сайтом или закроете это сообщение — это значит, что вы согласны с нашей Политикой конфиденциальности и разрешаете использование cookie-файлов, как описано в политике Cookie.