Запись файла.Ts "по требованию" (inotify?...)
У меня есть медиаплеер, который может читать только общие файлы самбы. Я хотел бы воспроизвести http-поток (например, из моей Dreambox).
Моя идея состоит в том, чтобы поделиться папкой на моем Linux. В этой папке я добавлю (поддельные?) Файл для каждого телеканала, который я хочу смотреть (например: channel1.ts, channel2.ts...).
Медиаплеер может только читать эти файлы, как это должно быть с обычными файлами. Моя потребность: сделать что-то, что "прослушивает" доступ к этим файлам, чтобы при доступе к нему моего медиаплеера он запускал mencoder -oac copy -ovc copy -o channel1.ts http://path.to.the.broadcast.ts/,
Я пытался использовать inotify для пустого файла. Он хорошо запускает mencoder, НО медиаплеер останавливается перед началом кодирования (потому что файл пуст, поэтому он достигает конца до начала). Возможно, нужно заполнить 5 сек видео, чтобы буферизовать чтение?
Может быть неплохо использовать "fifo" => Я попробовал это, медиаплеер ждет, когда я делаю менкодер, fifo начинает расти, медиаплеер воспроизводит его! Дааааа... НО inotify, похоже, не реагирует на FIFO... так что я не могу автоматически запускать mencoder.
Любые предложения приветствуются.
Основные моменты:
- Медиаплеер может ТОЛЬКО читать обычные файлы
- Файл должен находиться в общей папке samba
- Запись должна быть "запущена" по требованию (когда медиаплаттер пытается получить к ней доступ)
- Может быть приятно наблюдать за "бездействием", чтобы остановить запись / очистку файла буфера
Нелегко формализовать этот вопрос. Я немного разочарован и даже не знаю, какие поиски я мог бы найти для этого.
Надеюсь, что некоторые гуру найдут что-нибудь для себя
Приветствия.
1 ответ
Возможно, вы захотите взглянуть на методы, которые используют Hierarchical Storage Management и вирусные сканеры при доступе, так как они должны делать подобное прерывание перед обычным доступом.
Например, используйте Talpa для перехвата открытых операций в выбранном каталоге и замените файл в этой точке.