Reply
Byte
plarsen
Posts: 15
Registered: ‎01-11-2011

Stream Hulu and others to FAT+ with TVersity free

[ Edited ]

(...the HARD way)

* If you don't like tinkering and don't have a reasonably powerful PC similar or better than my system below (Windows XP, dual core, dedicated graphics card), don't even bother reading further. PlayOn or TVeristy Pro are better options to try instead.

 

UPDATE:

 

Since my original post, I've been able to improve things with different settings and now a completely different process. I'll leave the original post below as a reference for the old settings.

 

------------------------------------------------------------

3rd new, improved process (use for best results):

------------------------------------------------------------

 

This method allows you to stream screen capture (or anything) from VLC as an MPEG2/TS HTTP stream, passed through TVersity directly without re-transcoding twice (like my earlier attempts). The result is better quality with lower CPU usage and more fine control over the transcoding.

 

software used:

TVersity older version 1.7.4.1 (instead of 1.9.3)

UScreenCapture instead of SCFH DSF (couldn't get SCFH to work in VLC)

VLC 1.1.5

SQLite Database Browser

 

lowered Stereo Mix Recording Volume to 80%

 

VLC Streaming, select UScreenCapture and sound card

 

set the UScreenCapture region manually:

720x400, 30fps

 

show more options and add this to end:

 

 :dshow-caching=500 :dshow-aspect-ratio=16:9

 

 

Next, Next to output

Add HTTP output

select Transcode MPEG2/TS

Next

 

Paste this over the command line (settings updated to fix audio problem):

 

:sout=#transcode{vcodec=mp2v,vb=7200,fps=30,acodec=a52,ab=192,channels=2,samplerate=48000,vfilter=canvas{width=720,height=400},audio=sync}:duplicate{dst=std{access=http,mux=ps,dst=:1234/go.mpg}} :sout-mux-caching=5000 :sout-transcode-high-priority :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep

 Press Stream

 

Now, the tricky part:

 

In TVersity add an Internet Video mms:// stream, because it won't take an HTTP link

Advanced: select Never Transcode

Stop sharing and exit

 

Use SQLite Database Browser to edit admin.ab and medialib.db

Program Files\TVersity\Media Server\db

 

find the mms:// links you added and change both files to (using your local IP):

http://192.168.0.8.1234/go.mpg

 

in medialib.db only, find (below your mms link):

http-get:*:video/x-ms-asf:*

replace with

http-get:*:video/mpeg:*

 

Save both .db files

 

Start TVersity, Start Sharing

 

Now your VLC MPEG2/TS stream should play directly on the FAT+ at full resolution without TVersity transcoding. If you get an error the first time you try to play the stream link, just select it and play again. it should play fine the second time.

 

 

-----------------------------------------------

2nd try improved settings (outdated):

-----------------------------------------------

 

I'm not using these anymore either, but these settings gave a much improved, higher resolution and smoother picture compared to my original settings. The result was decent, but I moved on the the VLC direct method above to avoid double transcoding.

 

used TVersity older version 1.7.4.1 (instead of 1.9.3)

 

In SCFH DSF, set the properties to:

512x288, 30 fps

 

removed the Live source from Expression encoder, then added a new Live source (to get the settings to stick)

 

changed Expression Encoder video to:

512x288, 30 fps (and checked ensure multiples of 16 option)

 

manually edited TVersity config.xml and profiles.xml

 

config.xml

<transcode when="pprofile" optimize="quality" connectionSpeed="WIRED_HIGH" downsampleForConnectionSpeed="false" audioCompressionRatio="4" videoCompressionRatio="8" disableDecodingClock="true" wmProfile="wmv8" wmEncodeDShow="true" audCapDriftCompThresh="0" audCapStereoMix="false"><maxVideoInfo width="1920" height="1080" bitrate="16000000" fps="30"></maxVideoInfo><minVideoInfo width="0" height="0" bitrate="0" fps="30"></minVideoInfo>

<cache maxSize="8192" minSize="3072" timeshiftInterval="0">

main things to note, which are not settable in the GUI:

videoCompressionRatio="8"

minVideoInfo fps="30"

 

profiles.xml:

 

<transcodeTarget audio="audio/mpeg" video="video/mpeg2" photo="image/jpeg"

                         onlineAudio="audio/mpeg" onlineVideo="video/mpeg2" onlinePhoto="image/jpeg"/>

        

        <maxVideoInfo width="1920" height="1080" bitrate="16000000" fps="60"></maxVideoInfo>

 

 

 

------------------------------------------------------------------------------

Original post below

------------------------------------------------------------------------------

 

These are my notes from trying to stream Hulu and any other browser viewable video to the Freeagent Theater+ for free. I tested PS3 Media Server, VLC, the old Windows Media Encoder and a handful of Directshow screen capture filters. I ended up using TVersity, Expression Encoder 4 and SCFH DSF screen capture filter.

The end result is not great, but tolerable. My playback resolution on the FAT+ is 480x256, 24fps, though the frame rate actually looks lower than that and is a bit jerky. The problems are probably due to the multiple transcodes and different frame rates. I've watched a few shows from 30-50 minutes in length and it holds up for the duration.

This is still experimental, but I hope it can help others trying to do the same thing. The double transcoding is less than ideal, but I haven't had any luck getting TVersity to pass the mms stream directly to the FAT+. I also don't know if there's any other way to directly stream the Directshow screen capture and audio to TVersity or to the FAT+ with other free software. Any suggestions to simplify the process or stream directly to the FAT+ would be appreciated.


WARNING: This only works on a Windows XP PC. I don't know if this could work on Vista or Windows 7, but there will undoubtedly be some pitfalls and different configuration options.


Notes:
You will need to figure out your firewall, router and networking settings on your own.

If the FAT+ doesn't play the video stream, stop sharing in TVersity, exit then relaunch and start sharing again. Try to play on the FAT+ again. To make sure TVersity is working, you can add an existing video file to a Library folder and try to play it.

I delete the Internet Video stream and add a new one in TVersity for every viewing session. Keeping the same name seems to grab old cached video sometimes.

You can try different settings in TVersity, but the settings below are pushing the limits of my PC. If you have a beefier PC, you can probably raise the resolution and quality.

I mainly tested with Hulu and Youtube 360p streams. The bottleneck seems to be the TVersity transcoder, so higher resolution and Expression Encoder settings don't seem to improve things.

Known Issues:
On Hulu, when one video ends and the next one auto-plays after that, TVersity's transcoder seems to go into slideshow mode (extremely low, unwatchable frame-rate). Not sure why this happens. I have to stop sharing and exit, then restart TVersity. Expression Encoder can stay running though.

Some intermittent audio crackle.


System Requirements:
Tested on Windows XP with current updates
Intel Dual Core 2.9 GHz
4GB RAM (3GB used)
Nvidia GTX 260 (accelerates browser playback of flash videos)
Firefox Browser (any browser with Flash should work)
Windows Media Player 11 or higher

Software needed:

SCFH DSF Directshow screen capture filter
http://mosax.sakura.ne.jp/fswiki.cgi?action=ATTACH&page=SCFH+DSF&file=SCFHDSF041%2Ezip
http://koitsu.wordpress.com/2009/09/12/how-to-install-and-use-scfh-dsf/

Expression Encoder 4
http://www.microsoft.com/expression/try-it/

Dot .NET 4.0 framework
http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=9cfb2d51-5ff4-4491-b0e5-b...

TVersity Media Server (tested with v1.9.3)
http://tversity.com/download

(optional?) ffdshow (if it's not installed with TVersity?)
http://www.videohelp.com/tools/ffdshow

(optional?) Silverlight
http://www.silverlight.net/getstarted/

(other codecs?)

Install all necessary software.

(Optional: )
Open with notepad or other text editor:
Program Files\TVersity\Media Server\profiles.xml
Under: <friendlyName>MPEG Device</friendlyName>
find: <transcodeTarget
change the video codecs from mpeg to mpeg2:
video="video/mpeg2"
onlineVideo="video/mpeg2"
you can also change maxVideoInfo width and height here if you want:
width="1280" height="720"
Save profiles.xml (make sure not to save with .txt extension)
(end Optional)


Open Windows Control Panel, Sounds and Audio Devices.
Device Volume (should be high): click Advanced
Select Properties from the Options Menu
Select Recording (make sure Stereo Mix is checked), then OK
check Select under Stereo Mix and make sure Volume is all the way up
Close those windows

Launch Expression Encoder 4


Add a Live Source.

Live Source 1:

Video Device: SCFH DSF
Resize Mode: Stretch (or letterbox if you like)
Audio Device: select your soundcard
Audio Line: Stereo Mix
Volume:1

Configure Video Device.
Ignore Width and Height.
Frame Rate: 24
Apply OK.


Configure SCFH DSF.
Run SCFH.exe

Select Process: Encoder.exe
OK

Area Selection
Drag green box over your video, resize, then double-click to apply.
Make sure size dimensions are both divisible by 16 and in the correct aspect ratio (4:3 or 16:9).
Uncheck all Options
Apply
Leave SCFH DSF running in background.


Encode:
Windows Media
VC-1 Advanced
WMA

Video:
buffer window: 3
frame rate: 24
key frame: 5
bitrate: 2200
Width: 480
Height: 256
(Choose your own resolution, but make sure size dimensions are both divisible by 16 and in the correct aspect ratio (4:3 or 16:9) for the TVersity MPEG transcoder.)
Advanced (Video) VC-1 Settings:
Video Complexity: Fast(1)
everything else Off or defaults


Audio:
bitrate: 128 kbps
channels: stereo
sample rate: 48 kHz
bits: 16

Pre-Processing:
Deinterlacing: Force Off
Resize Quality: Bicubic


Output:
check Streaming
Broadcast
Port:1234
Max Connections:10

Press Start to begin streaming screen capture.
Close Preview Window (open again from Window Menu)

(Optional: )
To test mms stream:
Launch Windows Media Player
File Open URL:
mms://127.0.0.1:1234 (or your local IP: 192.168...)
Let it play (If it doesn't, something is wrong above)
Stop and Exit
(end Optional)

Launch TVersity Media Server

Right click on system tray icon to Start Sharing

Settings:


General Settings:
Media Playback Device: MPEG1/2 Video Device
(optional) uncheck Automatically start sharing
Save


Transcoder Settings:
When to transcode: Only when needed
Maximum Video: 960x540 (or 1280x720...)
Optimize: Speed
Connection speed: set for Wired or Wireless depending
Compression: Minimum
Decoding Speed: UNCHECK Decode the media as fast as possible
Save

(Only do this step once, when you first change settings.)
Stop Sharing
Wait for icon to turn grey
Exit
Launch TVersity again and Start Sharing


Go to Library
Select Internet Media then Internet Video
Add Item
Video URL: mms://127.0.0.1:1234 (or your local IP: 192.168...)
Title: video name
Advanced:
Transcode: Always
Submit

On Freeagent:
Browse into Media Servers
Select your TVersity Server
Drill down into Internet Media, Internet Video
Select the Title name of your mms stream

Watch and enjoy.

Petabyte
prairiedog
Posts: 460
Registered: ‎07-18-2010
0

Re: Stream Hulu and others to FAT+ with TVersity free

[ Edited ]

Kudos to you for the descriptive guide - I will add a link to my sticky post.

 

I do have a question, are all these steps necessary to stream just Hulu?  I only tried tversity once, and have used playon since.  I see you are discussing streaming mpeg2/ts - is this an alternative to local file sharing then?  Wondering why you would transcode when the FAT+ plays them natively. I just want to clarify what exactly this is designed for.

 

Thanks a ton Plarsen!

 

-------
- Please search the forums first and remember, these are COMMUNITY forums so don't expect Seagate techs to trot out some new firmware update because you don't like something. To be honest, they don't even visit these forums. Be nice, verbose, and mindful.
- There are sticky threads that can also answer many of your questions
- Reinstall firmware with the COLD METHOD
Byte
plarsen
Posts: 15
Registered: ‎01-11-2011

Re: Stream Hulu and others to FAT+ with TVersity free

[ Edited ]

Thanks, although it's more of a work-in-progress than a complete guide.

 

The point of these experiments is to be able to live-stream anything you can see on your PC to the FAT+ running firmware 2.20 (without buying PlayOn, etc.). You can't open Hulu video links or network TV sites on the FAT+ natively. With this method you can play anything you can watch in a browser on your PC on the FAT+ anywhere in your house.

 

This wouldn't be used for watching anything the FAT+ can already play from a shared folder. It's meant for quick live-streaming of internet TV, without having to download or re-encode anything. I only use TVersity to send a playable link to the FAT+ (since you can't otherwise enter a stream link in the FAT+ interface).

 

Think of it as the digital equivalent of running a long TV-out cable connected from your PC to wherever your FAT+ is located.

 

Unfortunately, you have to start playing the video on your PC and you don't have any control from the FAT+.

 

It seems to work well enough for me and saves me from moving my PC or laptop from room to room to watch certain shows or videos. After you've set it up once, it only takes a couple minutes to start it up and start watching something after that. Then you can just leave it running and watch multiple shows, as long as they are played in the same screen area.

 

I've played Hulu, ESPN3 (four feeds at once), Justin.tv and other streams that don't work in Mediafly, but you should be able to play just about anything.