2

我有一个只能读取 samba 共享文件的媒体播放器。我想播放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”可能会很好 => 我试过了,媒体播放器等待,当我做 mencoder 时,fifo 开始增长,媒体播放器播放它!是啊!!!...但是inotify似乎对fifo没有反应...所以我不能自动触发mencoder。

欢迎提出任何建议。

基本点:

  • 媒体播放器只能读取常规文件
  • 文件必须在 samba 共享文件夹中
  • 记录必须按需“触发”(当媒体播放器尝试访问它时)
  • 可以很好地观察“不活动”以停止记录/清空缓冲区文件

将这个问题形式化并不容易。我有点失望,我什至不知道我可以用谷歌搜索什么样的搜索。

希望这里的一些大师会找到一些可以解决问题的方法

干杯。

4

1 回答 1

0

您可能想查看分层存储管理和按访问病毒扫描程序使用的技术,因为它们需要在正常访问之前进行类似的中断。

例如,使用 Talpa 拦截所选目录中的打开操作,并在该点替换文件。

于 2010-04-03T18:34:05.893 回答