Telestream Community Forum
Decrease font size
Increase font size
Topic Title: Wirecast performance tuning.
Topic Summary: Looking for what changes I can make to increase FPS streaming.
Created On: 11/6/2009 11:20 AM
Status Post and Reply
Linear : Threading : Single : Branch
Topic Tools Search Topic
Topic Tools Topic Tools
View topic in raw text format. Print this topic.
 11/6/2009 11:20 AM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

Prerequisite Info:
* 32-bit XP SP3
* Intel Core2 Quad Q9400 @2.66GHz, 4 GB RAM
* No Graphics Card
* Hercules 720p usb Webcam and another web cam (will be replaced with Black Magic Intensity Pro)
* Two broadcasts (1 boardcast per camera... 3 streams per broadcast)
* Wirecast streams video/audio to Wowza media server 2 preview 7 (each on separate boxes)
* The 3 streams are Flash HD Band, Flash Medium Band 16:9, and Flash Low.

When I do all 6 streams to the Wowza media server the frame rate drops down to 2-3 frames per second. Are there settings to change or hardware to add so I can maintain >20 fps on all streams? Any recommendations would be greatly appreciated.

Thanks (^_^)
 11/6/2009 12:03 PM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

I just installed a 1GB NVIDIA GeForce 9500 GT. Wirecast reports 6 fps and the CPU is around 72%, but interestingly enough Wirecast seems to be less stable. The GUI locks up and I can not move the window or select broadcasts to stop the streams.

Thanks for your time
 11/6/2009 12:49 PM
User is offline View Users Profile Print this message

Author Icon
CraigS

Posts: 17463
Joined: 4/4/2007

Make sure you're using Wirecast 3.5.5.
What are your preference settings? Be complete.
As an experiment try changing the GPU compression setting.
I'm not quite sure what you mean by "two broadcasts"

-------------------------
CraigS
Telestream Desktop Forum Moderator
 11/6/2009 4:04 PM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

I am using Wirecast 3.5.5 (11826)

My Preferences are:
General
-> Open last document on startup [checked]
-> USe checkerboard in Shot Editor [checked]
-> Aspect Ratio: NTSC 4;3 (720x480)
Performance
-> Quality Draw highest quality icons [checked]
-> Video Display Rate: 30 fps
-> Desktop Presenter Frame Rate: Automatic
-> Desktop Presenter Quality: Automatic
Advanced
-> CaptureDevice size: Native
-> Device Deinterlacing: None
-> Processing Use High Quality Video [checked]
-> Processing Use GPU Compression [checked]

When I said two broadcasts... I mean I have two instances of wirecast open. Each one streaming video from a different source (blackmagic and hercules camera)

Thanks
 11/6/2009 4:13 PM
User is offline View Users Profile Print this message

Author Icon
CraigS

Posts: 17463
Joined: 4/4/2007

Two instances of Wirecast could be an issue. Try one and then the other and see how they perform individually.

When you do that try turning off GPU compression and see how it affect frame rate although you'll likely see an increase in CPU usage.
Try changing Capture Device Size to Reduced. Under some circumstance that may have no noticeable negative impact on quality yet might increase frame rate.
Turning off Draw highest quality icons can sometimes buy you a little bit of improvement..

-------------------------
CraigS
Telestream Desktop Forum Moderator
 11/10/2009 1:49 PM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

herc all 3 streams original settings no audio (license out), with gpu compression
fps: 8-9
bm all 3 streams original settings no audio, with gpu compression
fps: 9-10
herc and bm 6 streams original settings no audio, with gpu compression
herc fps: 4.5 bm fps: 4.5

herc all 3 streams original settings no audio, no gpu compression
fps: 5.2
bm all 3 streams orginal settings no audio, no gpu compression
fps: 6.5
herc and bm 6 streams settings no audio, no gpu compression
herc fps: 4.5 bm fps: 4.5

herc all 3 streams original settings no audio, gpu compression, capture size reduced
fps: 8-9
bm all 3 streams original settings no audio, gpu compression, capture size reduced
fps: 11
herc and bm 6 streams no audio, gpu compression, capture size reduced
herc fps: 4.5 bm fps: 4.5

herc all 3 streams original settings no audio, gpu compression, capture size reduced, draw off
fps: 9
bm all 3 streams orginal settings no audio, gpu compression, capture size reduced, draw off
fps: 11-12
herc and bm 6 streams orginal settings no audio, gpu compression, capture size reduced, draw off
herc fps: 4.5 bm fps: 4

My goal is to have 25-30 frames a second per stream. I am trying to understand where the bottle neck is. Is it the encoding process?... If so can I write a custom encoder that wirecast could use? Is it the CPU?... If so can I add an i7? Is there anything else I can do to increase my FPS?

Thanks again.
 11/10/2009 5:10 PM
User is offline View Users Profile Print this message

Author Icon
CraigS

Posts: 17463
Joined: 4/4/2007

Try one stream using first the lowest Broadcast setting you intend to use. Then try on stream using the highest Broadcast setting you intend to use.
Your frame rates seem very low for a quad core.
I assume you're reporting the frame rate from Wirecast Output Statistics, correct?

-------------------------
CraigS
Telestream Desktop Forum Moderator
 11/11/2009 10:21 AM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

Ok... Below is my are my stream by stream numbers

Test1
1 window of wirecast with USB Hercules camera selected iPhone stream (Encoded H.264 320x240, 24 fps, 48 key frames per second, average bit rate 400, packetizer h.264 Destination: Announce to QuicktimeServer)
*Result FPS: solid 24 CPU:30% Datarate:400 kbits/sec

Test2
1 window of wirecast with USB Hercules camera selected Flash HD 16:9 stream (Encoded H.264 1280x720, 30 fps, 240 key frames per second, average bit rate 1000, profile: main output format: flash Destination: RTMP Flash Server)
*Result FPS: 18-20 CPU:81% Datarate:900 kbits/sec

Test3
1 window of wirecast with USB Hercules camera selected and iPhone AND Flash HD 16:9 streams selected (same settings as above)
*Result FPS: 13-14 CPU:76% Datarate:1100-1400 kbits/sec

Test4
2 windows of wirecast
window-1 with USB Hercules camera streaming iPhone and HD (Same settings as above)
window-2 with blackmagic card stream iPhone and HD (Same settings above, but their stream names are different)
Results:
*window-1 FPS:4.2 CPU:75% Datarate 1200 kbits/sec
*window-2 FPS:4.2 CPU:77% Daterate: 1100 kbits/sec

Sidenotes:
+ Streaming to a Wowza Media Server
+ On gigabit network

Odd. In Test3 the CPU% actually goes down then I do both?!?! Unfortunately, it looks like I may not be able to obtain my goal is to have 2 different windows of wirecast open each streaming HD and iPhone streams. What are the benchmarks I should expect from wirecast? Any more suggestions would be greatly appreciated.

Thank you for your time and patience
 11/12/2009 2:46 PM
User is offline View Users Profile Print this message

Author Icon
CraigS

Posts: 17463
Joined: 4/4/2007

In general it looks like you're stressing the CPU given the jump from your iPhone setting to Flash HD 16:9. I'm not sure why but your system really can't handle what you're trying to do. Those numbers don't look like they're coming from a Quad Core system. It certainly can't handle two instances of Wirecast and it's hitting 80% on a 900kbps from a USB camera. Unless there's something I'm not seeing in your settings, it looks like you have a hardware issue.

I'd suggest testing your Test2 on another computer. Also I wouldn't even consider trying what you're doing with anything less than Dual Quad (8 Core).

-------------------------
CraigS
Telestream Desktop Forum Moderator
 11/13/2009 4:20 PM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

Does Telestream have a recommended hardware list for HD streaming... specifically my situation dual HD streaming from one computer? Motherboard? Processors? GPU? OS?

Thanks again.
 11/16/2009 6:28 PM
User is offline View Users Profile Print this message

Author Icon
CraigS

Posts: 17463
Joined: 4/4/2007

Nothing official but if you're doing HD I'd really consider 8 core (dual quad) latest "i" core as encoded to HD takes major CPU. If the source is HDV then any more than 1 HDV camera on one system would be a strain. People are looking at HDMI input solutions and we're still testing that. It's hard to mention a specific GPU since cards and drivers change quickly but it seems, just from my observation, there's fewer driver Wirecast issues with NVIDIA cards but any given card and driver version needs to be looked at. Certainly many ATI cards work fine. Sorry I can't be more definitive than that. OS, my opinion but I'd choose Windows 7 over Vista. I'm torn on 32 bit vs 64 bit. The extra memory access of 64 bit is a good thing but I'm still hearing about various driver issues. It would be great if some of the users jumped in and talked about their souped up systems.

-------------------------
CraigS
Telestream Desktop Forum Moderator
 11/17/2009 2:19 PM
User is offline View Users Profile Print this message

Author Icon
grrvin

Posts: 8
Joined: 11/6/2009

Thanks. I have a beefy i7 machine on order with Win7-63bit. I will give it a try and report back my results.
 11/18/2009 7:19 PM
User is offline View Users Profile Print this message

Author Icon
CraigS

Posts: 17463
Joined: 4/4/2007

That's good CPU power for sure. Make sure you get 64bit compatible drivers for all you hardware.

-------------------------
CraigS
Telestream Desktop Forum Moderator

FuseTalk Basic Edition v3.0 - © 1999-2010 FuseTalk Inc. All rights reserved.