Week 3

Content

  • Hardware Considerations

    Unlike streaming software, which includes a plethora of popular open-source options, the hardware required for streaming can be a considerable expense. Decisions need to be made as to the audio and video recording equipment that will be used. Will you use a dedicated microphone? Do you need a capture card? Will you utilize a greenscreen? The good news is that if you enjoy online PC gaming, you almost certainly have a capable computer for streaming. There are a few exceptions, and as always, the ideal streaming set-up does not necessarily equate to the most common or affordable. Let's begin our exploration of Hardware Considerations. By the end of this week, you should have a good idea of what options you have for continuing to develop your streaming hardware setup.

    This week you will...
    • Explore hardware specific to streaming
    • Define purposes of individual pieces of hardware
    • Explain hardware vs software encoding
    • Create an ideal PC build for streaming
    • Discuss network requirements in relation to streaming
    inside of a computer tower
  • Loot for your mind

    Weekly Materials

    A common thread that you'll find in the readings and other material this week is that your CPU is going to be a larger consideration in streaming than it would normally if you were a gamer. Your graphics card is important for rendering graphics (imagine rendering a simulation), but it is not especially well designed for handling the many separate simultaneous tasks, including the transcoding of video, that streaming involves. Hardware encoding using a GPU is also a perfectly viable option, and may be the route you want to go, so don't neglect your exploration of the GPU's role there! 

    Threads and Cores

    What are threads and cores, and why are they important to you? A "thread" is just the line of commands that the CPU is processing. Originally the CPU would have only had the ability to process one thread at a time. As fast as a CPU can work, this is still pretty inefficient. Wouldn't it be nice to be able to read several commands simultaneously? This is called hyperthreading, and allows for increased efficiency and the ability to run simultaneous programs and commands at once.

    The "core" is the actual piece of the CPU doing that processing. Originally the CPU itself was just "a core" that, again, simply had the ability to read a single thread at once. Hyperthreading allowed a core to be utilized in multitasking, and multi-core CPUs split up the physical cores. So, now you basically have multiple small CPUs that each have hyperthreading capabilities. That's great! Especially because in streaming you need to handle a lot of simultaneous and resource heavy processes! When just gaming, hyperthreading capabilities are not nearly so important as when streaming, so a CPU with fewer cores and a higher clock speed may be a more viable option.

    Before leaving the topic of CPUs, let's quickly define "clock". CPU speeds are usually provided in clock cycles. Currently (2018), CPU speeds are commonly found between 1.5-4Ghz. 4Ghz! That's 4 BILLION cycles per second, with each cycle executing commands. So faster is better? Yes and no. Not all CPUs process the same amount of information with each cycle, or are as efficient with each cycle. This is just one of many helpful indicators.

    Hardware Encoding

    Hardware encoding involves the use of the h264 codec built into your GPU to handle the encoding process rather than x264 encoding software running over your CPU. You'll find a lot of conflicting information on hardware vs software encoding. Typically, the concern with hardware encoding comes down to the lack of ability to adjust the encoder settings, meaning you're somewhat "stuck with what you get", and that is, at the time of this writing, a slightly lesser-quality stream at the chosen bitrate. That said, if your CPU is overtaxed, you can certainly increase performance by shifting to hardware encoding. Hardware encoding is handled separately from your game rendering, so you should not experience performance lags when gaming and hardware encoding simultaneously.

    Something to keep in mind is that you'll likely notice a lot of conjecture from online users with different brands of GPU/CPU and their experience with hardware/software encoding. You can learn a lot, but closely watch what you are reading to ensure that you are getting accurate information! Also note that, while usually when talking about hardware encoding we're just talking about using your GPU, there is also the option of using a capture card to send video to a dedicated hardware encoder, purpose built for hardware encoding.

    Internet Speeds

    If you want to stream successfully, you may want to take a close look at your current internet package. Uploads are more important than downloads in streaming. It doesn't matter how fast your download speeds are if you can't get your stream out to your users fast enough.

    So, how fast is fast for internet upload speeds? We recommend a minimum of 3Mb (megabits - not bytes!) per second, based on required minimum screen resolution of 720p at 30fps. You can check your internet speeds with a variety of services, but you should strongly consider using speedof.me and testmy.net to double-check your speeds. These services may not utilize servers as close to your location as something like Ookla, but they are HTML5 programs that perform their tests by having your computer upload and download actual files. This is a more accurate, and often times, more sobering test of you internet upload capabilities vs Flash-based tests.

    Topics to Consider

    A few questions that you should ask yourself as you progress through this week:

    • What does each specific hardware component do in relation to streaming?
      • What are the uses of the GPU and CPU in streaming?
      • What is hardware vs software encoding?
      • Why might streaming use a lot of RAM?
    • What constitutes low-end and high-end when discussing CPUs and GPUs?
      • What are their specifications?
      • What are cores and threads?
    • What are the major brands in PC hardware?
      • CPU? Intel iSeries vs AMD Ryzen.
      • GPU? Nvidea vs AMD.
      • What about prebuilt PCs? What is there place in streaming builds? ie., Alienware, MSI, ASUS, Dell, Lenovo, etc...
    • What are the major internet requirements? What pieces of the home network set-up should be considered?
      • Explain download vs upload speeds.
      • Discuss the pros and cons of a wired ethernet connection vs Wifi.
        • Consider mesh networks, and remember that not all streamers are PC-based.
      • Explore choosing an Internet Service Provider.
      • Discuss why and how to use a Virtual Private Network (VPN).
    • We'll be discussing peripherals in a later week, but are there additional hardware considerations based on particular peripherals?


    Midterm Reminder

    Just a friendly reminder that your midterm assignment is in Week 6! You'll be putting together a 15min stream, so feel free to look ahead at the assignment to get prepared.

  • Discussion Requirements

    In each week, you will have a Discussion assignment that will help to prepare you for that week's main assignment. You are required to:

    • make an initial post answering the questions provided, and
    • to respond to at least one peer.

    You won't be able to see any of your peer's posts until after you have posted. Your response should be go beyond a simple "good job" or other basic complement. While there isn't a hard requirement on the length of your response, 100 words would be a good starting place. 

    The reason we only require a single response is that we are encouraging you to engage your instructor and peers through Blackboard Collaborate and Discord in real-time discussion. The questions presented here are to help you to form ideas for your main assignment, as well as allow you to more deeply analyze what your peers are thinking about as they prepare for their assignments. Your peers may be in-class students, or they may be remote and in an entirely different time-zone. We want to ensure that you all have the same opportunities to collaborate and learn from each other. We want you to be fully prepared and confident going into your main assignments.

    Discord

    Discord chats are set up by week, and are supplemental to your actual assignments. Click the icon below to access the channel. Please participate in these chats! Discord is a very popular tool used by the streaming community, so if you're not familiar with it, this is your chance! Use the Discussion assignment to help organize your interactions. It's our hope that you find people through this class that you can collaborate with, game with, and stream with in your careers; you are welcome to invite your peers to other channels that you use!

    discord icon and link to channel


    Discussion

    10 Points

    Discuss the relation of individual hardware components to their role in streaming. Be specific on the following points:

    • Why is the CPU more important in streaming than it is in the typical gaming PC?
    • What are the tradeoffs in hardware vs software streaming in a PC build?
    • Why does is your internet upload speed typically the limiter in streaming rather than your download speed?
    • What are the pros and cons of purchasing a pre-built PC vs building yourself?
    • What are the hardware considerations for console streamers, smartphone users, and other non-PC focused streaming?
    Submission Instructions
    • Read the discussion rubric. You will be graded on this rubric!
    • Make an initial post based on the assignment prompt provided.
    • Reply to at least one peer with a substantial response.
    • Use Discord for further discussion.
  • 20 Points

    Your goal in this assignment is to build the ideal parts list for a streaming PC. Additionally you'll be creating a video of yourself to provide your reasoning for your chosen parts list. Let's expand on this:

    • Build a parts list for the ideal streaming PC, cost exclusive
      • This should be a single-tower set-up, ignoring peripherals (mics, headphones, etc...). This assignment is intended to help solidify your understanding of what hardware accomplishes in streaming, so even if you'll be primarily streaming with a handheld device or your gaming console, we still want to see this assignment completed for a single-tower PC. You can experiment with nzxt.com and choosemypc.net; these websites will build a parts list for you based on a number of criteria. You can also use pcpartpicker.com to help build and share your parts list. You'll need to create an account at pcpartpicker, but the lists and information on price, availability, and ratings can be very useful when actually building a PC. Plus, it's an easy tool for sharing your parts list (you can share your list on this assignment, if you prefer).

    • Create a 5 min video providing your reasoning for each component of your chosen PC
      • Be detailed! Again, this assignment should help demonstrate that you understand the role that hardware plays, specifically in a streaming set-up. Here's a question you may specifically want to consider in your reasoning: What is software encoding vs hardware encoding? CPU encoding vs GPU encoding?
    Submission Requirements

    Previously you had the option to write an essay as an alternative. In this assignment, we really do want you to go the video route. Remember, if you have a smart phone, you have the tools right in your hand! If either video or audio recording of yourself is not possible, please reach out to your instructor for alternatives. YouTube or Twitch are likely to be the easiest platforms to accomplish this assignment. If on YouTube, you may wish to set your video to "unlisted" so that only those who receive the link can find your video.

    Use the "Write Submission" option to provide a link to your video. It is highly recommended that you use an online service such as YouTube or Twitch rather than trying to attach a video file directly.

    This assignment is due no later than 11:59 PM at the end of the seventh day of class.

    Start Assignment

    Assignment Rubric

    Before starting your Assignment, please review the Assignment rubric. You will be graded using this rubric.

    Click below to view the Assignment rubric.

    Click Here

  • twitch.tv

    Check out our Twitch Channel below! If you want to participate in chat, you should click the Twitch button on the video player to head to the Twitch website. You'll want to do that if you want to keep the stream open while you switch tabs to work on your assignments, as well.

  • script-styles - do not edit or hide - only visible in edit mode - if viewable in student view, contact your instructor or the service desk for software updates