Kino for Dummies, aka How to stream kino on cytube
version 2.02 by mairon
Introduction
So you want to stream some kino? Look no further than this guide for all your kino needs. This guide should help you to stream any media you want on cytube.
As of writing this, this guide covers only the use case of playing a movie on your local computer (as in, with a video program like VLC/mpv), recording it with OBS, and streaming that. You can also stream a file directly via OBS without needing to play it on your computer, but you have less control over it and generally I have not done it before so I will not cover it here. If you wish to provide a guide for that, let me know and I'll add it to this guide
Step 1: OBS
OBS is a free and open source streaming tool, which you will use to stream content from your computer to a streaming provider such as 8chan.tv or twitch.
Part 1: Basic setup
- Install OBS
- Go into
Settings>Output>Streaming
- Under
Streaming Settings
, setVideo Encoder
to x264 - Set
Rescale Output
to 1920x1080 (or desired resolution, lower to help those with worse connections) - Under
Encoder Settings
, setBitrate
to whatever your network can handle. I recommend 5000 kbps, if you have very good connection you can go higher (though viewers with bad connection will suffer). Think of bitrate as the amount of data you're sending to the server per second, at lower bitrate the picture will look worse but will transmit easier. - Set
Keyframe Interval
,CPU Usage Preset
andTune
to whatever settings your system and network can handle. (recommended: 2, veryfast, lowlatency)
Part 2: Scenes/Video
- In the menu on the right, enable
Studio Mode
(you can turn this off if you know what you're doing) - Exit settings, under
Scenes
on the left create two scenes. Name oneLoading
and the otherVideo
- In the
Loading
scene, underSources
add whatever you want for your intermission screen. It can be a video, static image, gif, etc. If you do not need or want an intermission screen, you can skip this. - In the
Video
scene, add a window capture of your video player (or a direct file source, out of scope of this guide). If you wish to do live edits as Robert does, you instead would do a screen capture and fullscreen your video player, then you can drag things on screen at will. If you don't need to do this, it's better to do a window capture. - In studio mode, you will see two screens. On the left,
Preview
, and on the right,Program
. The right side,Program
, is what is currently being sent to the stream. To update the program, clickTransition
and it will put whatever you have inPreview
ontoProgram
. For instance, to swap to your movie, click theVideo
scene, then clickTransition
in the middle. You can change the fade in the middle or underScene Transitions
if you want it to be smoother. - Make sure that your OBS is only recording the audio of the media. If you have it set to record desktop audio, you'll have to mute cytube or there will be a feedback loop. If you use Linux, you can work around this
Step 2: 8chan.tv
8chan.tv is our streaming service of choice. They can handle our streams, and allow movies without termination.
How streaming works is your streaming client (OBS) records information on your computer, then sends it in chunks to a streaming service. That streaming service then takes the burden of distributing it to clients. It works this way because if you have 1000 people watching your stream, and you had no streaming service, your computer and home network would be responsible for sending gigabytes of data per second to thousands of people. Therefore, we use a service such as 8chan.tv which provides this distribution ability to clients so you aren't burdened with it.
Part 1: Account setup
- Create an account on 8chan.tv
- Click your profile in the top right and navigate to
My Channels
- Click
Create Channel
, entering any information you want (this will only be visible on 8chan.tv not cytube - but hey, there’s probably 1-2 people who actually use 8chan.tv on it’s own. You can enable chat for people on 8chan.tv here too) - Scroll down to the
Stream Key
section and record this information for part 2
Part 2: OBS connection setup
- In OBS, navigate to
Settings>Stream
- Select service
Custom
, then put theRTMP Ingests link
(8ch) into theServer
(OBS) section, and theStream Key
(8ch) into theStream Key
(OBS) section. - In OBS, press
Start Streaming
- Navigate to the front page of 8chan.tv and find your channel
- On your channel, there is a link button to the left of the like/subscribe buttons. Click it and copy the information inside of
Embed
. Save this somewhere for future reference, as this will always link to your channel. I would recommend a text document - In OBS, press
Stop Streaming
Step 3: Cytube
Cytube itself is not a streaming platform - it is merely a chatbox that allows you to embed videos from other sites. You can embed a stream, from a site like twitch or 8chan.tv, or you can embed a link to a file directly (if your movie file is accessible through link, like site.com/movie.mp4), and you can also embed youtube playlists. I will only cover how to set up your stream itself, all other cytube playlist related information is out of the scope of this guide.
Part 1: Channel Setup
- Ensure you have a cytube account
- Navigate to
Account>Channels
- Register a channel with the desired link name. You cannot change this afterwards.
- Navigate to your channel (tip: bookmark the link)
- Under the
Add Media
tab, paste the embed link you acquired in 2.2.5, set a title (will show up above the chat, and on the front page of cytube), then clickQueue Next
. You will not see anything unless you are streaming, you can quickly start/stop streaming here to verify you did it correctly.
Part 2: Visuals/scripts
Strictly speaking, you do not need to do this section, however this will set up your channel to look like Robert's and will give you some QoL features like better emote handling, overlays, polls, etc. I would recommend it if you just want a nice looking channel.
- Navigate to
Admin Settings
(top right) - Go to
Edit>Javascript
, and paste this javascript. Inside of the javascript you just pasted, scroll down and read everything up until the line that says/* ----- Do Not Touch ----- */
. Edit everything before that line as you see fit, it includes things like your background, emoji limit, and the channel name at the top of the page. Make sure to save when done. - Go to
Edit>CSS
, and paste this css. Edit anything in this file if you know what you’re doing. The section you will probably find most useful is thechannel-emote
section where you can edit the max sizes for emotes. Make sure to save when done. - Go to
Edit>Chat Filters
, and paste this json. This allows chat colors and giphy embedding. Note: This chat filter includes an entry at the end calledimage embed
, this will allow you to post links in chat that end with png, jpg, jpeg, webp, or gif, and have it be embedded into the chatbox. If you do not want to give people this ability, delete that record. - Go to
Edit>Emotes
to add channel emotes. Before you add emotes, note that when you use the "import emote list" function, it replaces your entire emote list. This is important to know if you want to import a premade list of emotes. Import first, manual add later. This applies to overlays too, read that section before adding any emotes. When adding emotes, write the name for the emote + permanent link. Use imgchest for making permanent links to images. Do not use catbox links, catbox was not designed for fast image retrieval, emotes will be laggy. You can contact Robert for his current emote list if you do not wish to create your own, or you want the source on some of his. - To add overlays and fx, you can view this overlay tutorial for a list of some default ones and a better tutorial for how to add new ones.
Note that as of writing this, when you post an emote/overlay in cytube chat, your browser will make a new request to the link for the emote every single time an emote is posted. It is not cached! This is why catbox is not a good way to store your emotes. Making emotes as small as possible will save both viewers and imgchest a lot of bandwidth. Because of this, you should use jpg for emotes that don't have transparency, and webp instead of gif. You can easily convert gif to webp with ezgif. Also consider downscaling your emotes, emotes will never be larger than 400 in any direction, so emotes (especially animated ones) can be a lot smaller than their source and still look fine in chat.
Step 4: Streaming
This section will cover the average steps you will have to take in order to start and stop a streaming session.
- Open up OBS, and your movie. If you are streaming your screen, start your video player/browser (recommend downloading your movies!). If you are streaming the file through OBS, set the video to that.
- Select your
Loading
scene, set it up to how you want it to look, and clickTransition
- Click
Start Streaming
. Note that any changes you make to theProgram
tab in OBS will immediately be reflected on your stream, so if you clickTransition
and go to your intermission, you won't need to stop/start your stream or anything like that. - Navigate to your cytube page
- Your stream should be playing. If you do not play different embeds (such as youtube playlists) between streams, you will not have to re-embed at the start of every stream. However, if you want to change the stream title shown on cytube, scroll down and click the trash can button for
Clear the playlist
, then re-add your embed link and title and clickQueue next
. - At any point, you can transition between
Loading
andVideo
scenes, such as between movies. - Once you are done streaming, simply press
Stop Streaming
in OBS.
Step 5: Becoming a multiplex
If you want to get your own discord role as a multiplex streamer so people can subscribe to and follow your streams, do a few sample streams (over the course of a few days) first to ensure that you have everything set up properly and your network can handle streaming. Afterwards, contact Robert and he will get you set up.
Miscellaneous Information
Cytube
- Under
Edit>Permission
andEdit>Moderators
you can set other users as moderators/admins on your stream to allow them to perform various actions like polls, adding emotes, or giving them full ownership. - There is a
New Poll
section below the stream for doing polls. You have to give yourself permission to create polls first, underEdit>Permission>Polls
- Under
Admin Settings
you can disable your page being listed publicly, if you don't want your channel to show up on the front page of cytube. If you are only doing a private viewing or only wish to show to other kinoplex members, this is a good setting to prevent tourists from shitting your stream up.
Linux Audio
This will allow you to watch on cytube, instead of watching your local copy of the movie with chat having a 10 second delay. Requires pulseaudio/pipewire+pulse
- Create a bash script with the following contents:
pactl load-module module-null-sink sink_name="webstream_sink" sink_properties=device.description="web_stream"
- Run this script to create the sink. It needs to be done once per computer restart, as restarting will delete this new sink.
- Using pavucontrol, or whichever pulse management software you choose, set your video player (for instance: mpv) to use this sink. It will be called
web_stream
. - In OBS, navigate to
Audio Mixer>{audio monitor}>Properties
and forDevice
selectweb_stream
. Your OBS will now only be monitoring audio on this device, so only programs set to transmit to it
Every time you recreate the null sink (every computer restart), in OBS you have to go into the Audio Mixer
and change the monitored device to Default
, and then back to web_stream
. OBS will fail to record audio until you cycle it like this. Get in a habit of doing this every time you start your stream.
Changelog
- 2025-03-24 - v2.02
- Bumped the bitrate recommendation
- 2025-02-20 - v2.01
- Added note about OBS audio monitoring, as well as Linux audio tutorial to let you watch your stream on cytube