BlissFlixx Forum
Local directory as a channel - Printable Version

+- BlissFlixx Forum (http://forum.blissflixx.rocks)
+-- Forum: Users (http://forum.blissflixx.rocks/forumdisplay.php?fid=1)
+--- Forum: Feature Requests (http://forum.blissflixx.rocks/forumdisplay.php?fid=6)
+--- Thread: Local directory as a channel (/showthread.php?tid=4340)



Local directory as a channel - Lsk - 08-22-2016

First, thank you a lot for this wonderful tool, blissflix is exactly what I searched for a long time and works perfectly, that's a real pleasure to use it Smile

Would there be a way to develop a channel which would display the content of a directory on the raspberry pi and allow to play videos from it ? As omxplayer can read directly a video, I think a " ls " would be sufficient to develop the channel, but I don't know how to develop that in blissflix :/ Maybe a plugin ?

The idea would be to play videos already downloaded / personal videos ; and to add a button "Download" on the torrent videos to be able to download them for later if seeds aren't sufficient to play directly (via rtorrent for example), or using a RSS torrent download like this one:
http://joaquinlp.me/blog/how-to-automate-your-movies-and-tv-shows-downloads-on-arch-linux/

Again, thank you!


RE: Local directory as a channel - Lsk - 08-22-2016

Hi again,


I advanced a bit on this problem, in fact I developed a very simple channel like that :

Code:
from playitem import PlayItem, PlayItemList
import os

_FEEDLIST = [
  {'title':'Test Dir 1', 'path':'/opt/vc/src/hello_pi/hello_video/'},
]

def name():
  return 'Local folders'

def image():
  return 'icon.png'

def description():
  return "Local directories"

def feedlist():
  return _FEEDLIST

def feed(idx):
  path = _FEEDLIST[idx]['path']
  results = PlayItemList()
  for filename in os.listdir(path):
    fullname = os.path.join(path, filename)
    if os.path.isfile(fullname):
      results.add(PlayItem(filename, None, fullname))
  return results


I changed a bit lib/api/playr.py adding the following lines to function play():

Code:
  if url.startswith("/") or url.startswith "\\":
    Player.playFile(url, title)
    return

And then I'm a bit stuck with the whole process thing, very near of the final goal..

I would like to code something like that in player.py:


Code:
  def playFile(self, url, title):

    self.play(title, OmxplayerProcess2(url), http=False, dlsrv=False)

But the OmxplayerProcess2 doesn't take arguments.. I don't understand how the other processes like peerflix pass him the arguments it needs (url, subtitles). I read the code of the proccess pipe... But I'm clearly lost and could use some help. An option could be to code a omxproc3 based on the omxproc2... But I'm feeling that's not the right solution Smile

Thank you!


RE: Local directory as a channel - MrBliss - 10-07-2016

Hi Lsk,

Sorry for the delay. I have now updated BlissFlixx to support playing local files and have implemented a new plugin along the lines suggested by you (Thanks!!). Full details are here:

https://github.com/blissland/bfch_local_media