![]() |
|
SageTV v7 Customizations This forums is for discussing and sharing user-created modifications for the SageTV version 7 application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss plugins for SageTV version 7 and newer. |
![]() |
|
Thread Tools | Search this Thread | Display Modes |
#21
|
||||
|
||||
What are the chances of this working on android STBs? like an Pivos XIOS for example?
Might be a really cool way to throw together a SageTV Web interface that is usable via 10' gui and powered by your media streaming utility. I may even be willing to pick up a device to help you test it out and work out the kinks. SageTV UI in a full screen webbrowser with streaming media... awesome! |
#22
|
||||
|
||||
Quote:
I'm not sure I'd go down the Web Interface approach for android though... I've played around alot with using HTML+Javascript to build apps, mainly because I really want it to work well, but in my experience... the user experience is always lacking, and the UIs feel sluggish. But, the existing App would work (I would suspect) on a Pivos, and I'll be looking at adding more of a "wall view" (aka netflix style view) and giving the ability to auto launch into a VFS view on startup... that way, the existing app could be used on a GoogleTV style unit, etc. I'm currently testing on a GoogleTV and my app is severely lacking ![]()
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#23
|
||||
|
||||
Quote:
The Pivos XIOS DS runs XBMC so-so from what I have seen. It is however suppose to play media fantastically. Might be worth picking one of those up and helping you test/code in any way i can. |
#24
|
|||
|
|||
Trying to get the streaming setup and having some issues.
Setup:
Tried executing a media test from Chrome (Win7) with this URL Code:
http://192.168.0.100:8080/sagex/streaming/request/cl123?mediafile=14466006&network=wifi&profile=normal Code:
{"reply":{"error":"java.lang.NoClassDefFoundError: java/lang/ProcessBuilder$Redirect at sagex.phoenix.remote.streaming.VLCHLSMediaProcess.start(VLCHLSMediaProcess.java:76) at sagex.phoenix.remote.streaming.MediaStreamerManager.createRequest(MediaStreamerManager.java:58) at sagex.phoenix.remote.streaming.PhoenixStreamingHandler.createMediaRequest(PhoenixStreamingHandler.java:104) at sagex.phoenix.remote.streaming.PhoenixStreamingHandler.handleRequest(PhoenixStreamingHandler.java:51)at sagex.remote.SagexServlet.doPost(SagexServlet.java:60) at sagex.remote.SagexServlet.doGet(SagexServlet.java:38) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:322) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)\r\n", "args":["","streaming","request","cl123"]}} Thanks, Rick... |
#25
|
||||
|
||||
Quote:
![]() The VLC streamer code uses a feature in Java 7, mainly dealing with capturing output from command line programs, that I didn't really wan to re-invent in Java 6 (1.6)... So I used the API from Java 7. I may fix this to work with Java 6 (at some point)... but it would be faster for you to just upgrade to Java 7 ![]()
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#26
|
|||
|
|||
ok...so I just re-read the thread and this time noticed you required Java 7. So I installed Java 7 and now SageTV won't start. Says it can't find jvm.dll "please install Java Runtime Environment 1.4"
![]() Is there a setting in Sage that needs to be updated with the new path to Java 7? |
#27
|
|||
|
|||
If it ain't broke, don't fix it.
For me, I stayed with 6 because there really wasn't any compelling reason to upgrade (and there were security concerns with Java 7) and well... everything was working fine.
Now that I have a reason to upgrade to Java 7, I have, and it's working fine. |
#28
|
||||
|
||||
Or use the HTTP option to bypass that capture...
![]()
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2 TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad |
#29
|
|||
|
|||
Quote:
Anyway here's the download link if anyone else needs it. http://www.microsoft.com/download/en...s.aspx?id=5555 Rick... BTW. I hadn't upgraded Java because SageTV had been rock solid for me and didn't want to mess that up. But the idea of being able to stream to my tablet was too tempting. |
#30
|
||||
|
||||
I'm not sure I understand... I use the ProcessBuilder on java to startup the VLC instance... The "capturing" that I'm doing is reading the output stream from the process and writing it to a log file (one liner in Java 7). If this isn't done, then java buffers the output from a process and if you don't consume it... it will eventually crash java. This is solved in a couple different way... 1 is to use a StreamGobbler thread (which is what mobile web streamer uses) or 2, just tell the Process to write it's process output to a file (Java 7 feature). I opted for option 2, since I was quickly trying to get the flow working and I didn't want to manage any other threads in the process. And to be honest, there's no reason why anyone should be running Java 6... especially since Feb 2013 was the last time we'll see any updates to Java 6 (including security updates)
So, I'm not sure using the vlc built in http server (which is what I think you are suggesting) solves anythning for me, since I still need to capture the process output and write it to a log file (or discard it). Also, using the built-in vlc web server opens another issue which is forcing people to open up additional ports on their router to enable an internet passthrough to vlc stream.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#31
|
||||
|
||||
Quote:
I don't remember seeing any such issues when I initially supported the RTSP streaming through VLC, but maybe I just never caught up on it. ![]() Runtime.getRuntime().exec(someVLCCommandString);
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2 TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad |
#32
|
||||
|
||||
As people try to come up with the optimal command line, here's a few parameters that were useful for RTSP streaming (so ignore the RTSP specific stuff), though some might still apply for HLS... So you start with
Code:
StreamingVLCOptions = "-I dummy --one-instance --extraintf oldhttp --sout-keep --no-sout-rtp-sap --no-sout-standard-sap --rtsp-caching=5000 -f" Code:
--sout \"#duplicate{dst='transcode{ Code:
StreamingTranscodeOptions = "soverlay,ab=100,samplerate=44100,channels=2, acodec=mp4a,vcodec=h264,width=352,height=240,vfilter=\"canvas{width=352,height=240, aspect=16:9}\",fps=29,vb=200,venc=x264{vbv-bufsize=500,partitions=all,level=12,no-cabac, subme=7,threads=4,ref=2,mixed-refs=1,bframes=0,min-keyint=1,keyint=50,trellis=2, direct=auto,qcomp=0.0,qpmax=51,deinterlace}" Code:
StreamingTranscodeOptions1 = "fps=14.98,vcodec=mp4v,vb=512,scale=1,width=352, height=240,acodec=mp4a,ab=192,channels=2,samplerate=44100,deinterlace,audio-sync"; Code:
StreamingTranscodeOptions2 = "fps=14.98,vcodec=h264,venc=x264{no-cabac,level=12,vbv-maxrate=300, vbv-bufsize=1000,keyint=75,ref=3,bframes=0},width=352,height=240,acodec=mp4a,ab=64,vb=300, samplerate=44100,audio-sync"; Code:
StreamingTranscodeOptions3 = "fps=29.97,vcodec=mp4v,vb=512,scale=1,width=352, height=240,acodec=mp4a,ab=192,channels=2,samplerate=44100,deinterlace,audio-sync"; Code:
StreamingTranscodeOptions4 = "fps=29.97,vcodec=h264,venc=x264{no-cabac,level=12,vbv-maxrate=300, vbv-bufsize=1000,keyint=75,ref=3,bframes=0},width=352,height=240,acodec=mp4a,ab=64,vb=300, samplerate=44100,audio-sync"; Code:
StreamingTranscodeOptions5 = "fps=29.97,vcodec=mp4v,vb=512,scale=1,width=576, height=384,acodec=mp4a,ab=192,channels=2,samplerate=44100,deinterlace,audio-sync"; Code:
StreamingTranscodeOptions6 = "fps=29.97, vcodec=h264,venc=x264{no-cabac,level=12,vbv-maxrate=300, vbv-bufsize=1000,keyint=75,ref=3,bframes=0},width=576,height=384,acodec=mp4a,ab=64,vb=300, samplerate=44100,audio-sync"; Code:
}:gather:rtp{sdp=rtsp://:8080/stream.sdp}'}\" Of course by now I don't remember why a duplicate was used, but anyway you don't want to use that stuff as is, it's more about picking single option here and there if they seem relevant to you. ![]()
__________________
SageTCPServer (2.3.5): Open source TCP interface to the SageTV API MLSageTV (3.1.8)/Sage Media Server (1.13): SageTV plugin for MainLobby/CQC TaSageTV (2.58)/TaSTVRemote (1.14): Monitor/control SageTV with an Android device TbSageTV (1.02)/STVRemote (1.11): Monitor/control SageTV with a PlayBook 2 TiSageTV (1.64)/TiSTVRemote (1.09): Monitor/control SageTV with an iPhone/iPod/iPad |
#33
|
||||
|
||||
Quote:
![]() Quote:
![]() In my experience my "process" just seems to stop working (ie, blocks) until the ouput buffer is cleared. So, for streaming a 2hour movie... I didn't want to deal with with arbitrary "the stream just stopped, but I can see vlc is still running" type of support questions ![]()
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#34
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Utility: Phoenix Tools - Phoenix Renamer | stuckless | SageTV v7 Customizations | 116 | 04-27-2017 10:42 AM |
HAVA Titanium HD TV Streamer with Wi-Fi as a (CHEAP) Video (HD!!!) Source? | GKenny | Hardware Support | 13 | 05-10-2009 02:19 PM |
video streamer | chrysek | SageTV Software | 3 | 01-22-2006 09:26 PM |
media library | sms | SageTV Beta Test Software | 1 | 02-29-2004 12:20 PM |
media library crashes | -LD | SageTV Software | 8 | 09-03-2003 06:42 PM |