SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV v7 Customizations

Notices

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.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 11-07-2010, 08:27 PM
jreichen's Avatar
jreichen jreichen is offline
Sage Icon
 
Join Date: Jul 2004
Posts: 1,192
FAQ: Mobile Web Interface V2 iOS Streaming

This is a FAQ for the iOS streaming feature introduced in SageTV Mobile Web Interface V2. See the Plugin: Mobile Web Interface Version 2 and Support: Mobile Web Interface V2 iOS Streaming threads for help and discussion with other users.

What is this new "Media Streaming Services" plugin?
The plugin is a web application located at the URL http://<server>:<port>/stream. It streams SageTV recordings to the Mobile Web UI plugin using Apple's HTTP Live Streaming. It also serves as the streaming backend for Fonceur's TiSageTV iOS application. It could be extended in the future to support other streaming protocols and other media file types in SageTV such as imported videos and music.

Does this work in the mobile and desktop (aka nielm's) version of the Sage Web Interface?
Currently it's only implemented for SageTV recordings in the Mobile Web Interface. Playback is launched from the recording's detailed info page.

What browsers are supported?
Safari Mobile for iPad, iPhone, and iPod touch with iOS version 3.0 or later
Desktop Safari version 5.02 or later (with Quicktime X plugin) is supported on MacOS X. Quicktime X is not available for Windows so Safari cannot support HTTP Live Streaming on Windows. [Updated thanks to info from macsupergeek]

Will other browsers be supported?
It depends. If they add support for HTTP Live Streaming then yes they will be supported. As for other protocols, that depends on how much time I have to put into it. Update on May 30, 2011:There is a video player for Android called Mirage. Users are reporting mixed results. See Fonceur's TaSageTV Android application thread.

Are any special installation steps required?
Windows: No
Linux:Currently libfaac must be installed separately. This will hopefully be fixed soon.
Mac OS X: This plugin is designed to support Mac OS X. It cannot be tested until SageTV releases a Mac OS X build of v7. I don't own a SageTV Mac OS X license so I may rely on users to test it.

Do I need to open any special TCP or UDP ports in my router?
No. HTTP Live Streaming downloads the video over your HTTP connection so it uses the port that Jetty is already running on.

Does HTTP Live Streaming work over SSL?
I haven't been able to get it to work. If you're having trouble streaming, make sure you're on Jetty's non-SSL port (8080 by default).

What devices are supported?
iPad, iPhone, and iPod touch with iOS version 3.0 or later. This is due to the fact that HTTP Live Streaming is only implemented on these devices. Android and other devices do not.

How does the streaming work?
The streaming is based on Apple's HTTP Live Streaming protocol. The protocol has been submitted as an open standard but as of right now it is only implemented by Apple's Safari browser. Other browsers based on Safari, such as Google Chrome, do not support it nor do Firefox, Opera, or Internet Explorer.

Is seeking supported?
Yes, for prerecorded video. The iPhone's video player does not allow seeking for shows that are currently being recorded.

Why does it take a while for the video to start playing?
HTTP Live Streaming is based on splitting up a video into segments of equal duration. Apple recommends 10 second segments. At least one full segment must be downloaded before the browser will start playback.

Why does it play a split second of video before jumping to the last playback position?
This is because of a bug in the Safari browser.

Why is the video sometimes grainy?
This depends on the speed of the connection between your mobile device and your SageTV server. It includes variables such as 3G vs. WiFi and your Internet upload speed if you are away from home. And keep in mind it will probably start a little grainy and improve over time if you're on a good connection.

Why does HD video pause periodically?
I don't anticipate everyone will have this problem. I have a single core AMD 64 processor that's about 5 years old and its utilization is in the 90% range. I was also running an 802.11g wireless network at the time I tested this. Performance on an Intel Core 2 Duo is better. Update:I'm now running an Intel Core i5 760 on a Wireless N network and performance is much better.

Why are the audio and video out of sync?
FFmpeg doesn't always synchronize audio and video correctly. I noticed an improvement after upgrading my wireless router from 802.11g to 802.11n.

Why are there FFmpeg processes running after exiting the client's media player?
FFmpeg runs across HTTP requests and won't know it needs to exit if the client's media player exits between requests. A cleanup thread will periodically monitor for inactive processes and close them. They are also closed if the plugin is redeployed so file locks don't prevent the redeploy from happening.

What types of Sage-related features are supported in playback?
Playback will resume from the latest watched time. When viewing ends, the watched time is saved to the SageTV server. This works in conjunction with the latest watched values saved by Placeshifters/Extenders and vice versa.
If the video has never been watched, or is marked as watched, playback will start at the beginning of the video, taking padding into account.

What other Sage-related features will be added?
There's no guarantee of what I will add, but here's a list of possibilities. Suggestions are welcome.
- Custom on-screen display (OSD). It wouldn't be a true placeshifter UI but could be closer than the default Safari controls. iPhone and iPod Touch playback occurs in the fullscreen media player and could not support this. iPad and desktop Safari would be supported.
- Commercial display and skipping. Again, iPhone and iPod touch display cannot be customized but the skipping could be supported.

What is the minimum hardware required for transcoding video?
There's not a simple answer for this, here's an excerpt from a post I made on the iOS streaming thread:
Quote:
My AMD 64 single core (about 5 years old) in my SageTV server could only keep up with the SD recording. On the HDHR HD recording the best it could do was convert a 180-second clip in about 225 seconds and that was with a low quality ffmpeg preset ('ultrafast'). My iPhone will play for about 30-40 seconds then pause for around 20. I didn't even bother trying the HD-PVR recording. So basically I need a new server, too, if that makes anyone feel better

I have another server that's a Core i3 540 dual core with hyper-threading (no Sage installed). It performed much better and without turning my room into an oven. It converted the 180-second clip of the HDHR HD recording in around 90 seconds. It converted the HD-PVR clip in around 135 seconds.
Others have posted their results so take some time to read through the Mobile Web Interface V2 and iOS streaming threads.

Known Issues
  • Some television airings, mostly sporting events, have two audio tracks. Some of these may play garbled audio or no audio.
  • Some recordings from the Ceton tuner will not play. This will be fixed in SageTV 7.1.8 beta.
  • There are issues keeping the audio and video in sync.
  • Some videos will play for 10 or 20 seconds, then pause to redownload the segments and play them again at a different bitrate. It's something to do with HD-PVR recordings and/or iOS 4. It's still under investigation.
  • HD-PVR recordings require a more powerful machine than other recordings. This is likely due to the fact that the video is in H264 format and requires more processing power to decode.
  • Playback doesn't resume from the last playback position when watching on an iOS 4 device. The events fired by the media player iOS 4 are slightly different than those in iOS 3. I haven't found out why the iOS 4 events don't work the same.
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun.
Extender: STP-HD300, Harmony 550 Remote,
Netgear MCA1001 Ethernet over Coax.
SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client
, Java 1.6.
Plugins: Jetty, Nielm's Web Server, Mobile Web Interface.


Last edited by jreichen; 05-30-2011 at 09:18 PM. Reason: Links to other threads, hardware requirement information
Reply With Quote
  #2  
Old 11-07-2010, 08:27 PM
jreichen's Avatar
jreichen jreichen is offline
Sage Icon
 
Join Date: Jul 2004
Posts: 1,192
Reserved
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun.
Extender: STP-HD300, Harmony 550 Remote,
Netgear MCA1001 Ethernet over Coax.
SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client
, Java 1.6.
Plugins: Jetty, Nielm's Web Server, Mobile Web Interface.

Reply With Quote
  #3  
Old 11-07-2010, 08:28 PM
jreichen's Avatar
jreichen jreichen is offline
Sage Icon
 
Join Date: Jul 2004
Posts: 1,192
Reserved 2
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun.
Extender: STP-HD300, Harmony 550 Remote,
Netgear MCA1001 Ethernet over Coax.
SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client
, Java 1.6.
Plugins: Jetty, Nielm's Web Server, Mobile Web Interface.

Reply With Quote
  #4  
Old 11-07-2010, 08:28 PM
jreichen's Avatar
jreichen jreichen is offline
Sage Icon
 
Join Date: Jul 2004
Posts: 1,192
Reserved 3
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun.
Extender: STP-HD300, Harmony 550 Remote,
Netgear MCA1001 Ethernet over Coax.
SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client
, Java 1.6.
Plugins: Jetty, Nielm's Web Server, Mobile Web Interface.

Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Plugin: Mobile Web Interface Version 2 jreichen SageTV v7 Customizations 383 04-23-2018 09:12 AM
Support: Mobile Web Interface V2 iOS Streaming jreichen SageTV v7 Customizations 225 09-22-2013 01:19 AM
Plugin: Mobile Web Interface 1.2 jreichen SageTV Customizations 281 06-17-2011 02:20 PM
Wanted: Developer for Web Interface Mobile Brent SageTV Customizations 249 02-09-2009 11:21 PM
Web User Interface + Secure = Broken Streaming Function jmoney579 SageTV Customizations 1 05-28-2008 01:51 AM


All times are GMT -6. The time now is 12:32 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.