Skip to content

A GUI wrapper for FFmpeg and avconv for Livestreaming

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

TheSamsai/Castawesome

Repository files navigation

				Castawesome, Lifeless Planet Software
	
			
Short introduction:
	Castawesome is GUI wrapper around a script, that is used to stream
	video from Linux desktop to Twitch.tv, Hitbox.tv or YouTube streaming sites. It can be
	used, for example, for live screencasts or live gaming screencasts.
	
	The script (and thus also Castawesome) is built around tool called
	"avconv", which is one of the tools Libav developers provide.
	Both Libav and Castawesome are free/libre open source software
	licensed under GPL and LGPL.
	
Background story:
	I have been Linux user for few years now and I have grown to like
	it a lot. But during these years I have noticed that few things
	have been missing that I would want to have, mainly games and
	game-related software.
	
	One thing I was really missing, was a program that could stream
	live video from my screen, so that others could watch me play,
	code or whatever I was doing at the moment.
	
	The revelation became, when I found a script that could grab video
	from my x11 session and then send that to the famous Twitch.tv or
	Justin.tv websites. I was thrilled of the possibilities this little 
	script could provide.
	
	I would have been happy using only that piece of Bash, but then
	I started to think what the legendary "Average Joe" would think
	about modifying some strange .sh file and decided to write a GUI
	wrapper around it. That wrapper became Castawesome.
	
Installation and usage:
	I have tried to make installing and using Castawesome as easy as
	possible, but due to my lack of knowledge in application programming
	there are few "hacks" that need to be done before the program may
	be used. The steps necessary to get Castawesome working are here:
	
	1. 	Download the tar.gz package of Castawesome and extract it into
		a folder on your system.
	2.	Verify that you have installed Python 2, GTK-3 libraries and
		libav-tools/ffmpeg. (Dependencies are listed in DEPENDS file)
	3.	Run "make" in the folder you extracted Castawesome files into,
		to verify you have all the necessary GTK libraries installed.
		If the test is succesful, you will see "Castawesome is ok" in the
		terminal.
	4.	You can now install Castawesome system-wide with the command
		"sudo make install" or leave it to the current folder.
	5.	Run Castawesome by either double-clicking the "castawesome.py"
		file or by running "castawesome" in terminal to create config
		files for your user.
	6.	Retrieve your stream key from http://www.justin.tv/broadcast/adv_other
		or http://www.twitch.tv/broadcast and input it when Castawesome 
		asks for it. The stream key will be used to authenticate your 
		stream to the Twitch.tv/Justin.tv servers. 
		(We do not steal your stream key!)
	7.	You should modify your streaming settings now, because the default
		values might not work for you.
		
		More detailed descriptions of the settings are here:
		
		Input Resolution: 
			Resolution of the screen or area of screen you want to stream.
		Output Resolution:
			Resolution of the stream your viewers will see.
			Higher output resolution allows your viewers to see more
			details and increases the overall quality of the stream, but
			consumes more processing power and network bandwidth.
		Frames Per Second:
			How many frames you want to send per second.
			Keep in mind that higher frame rates will consume more
			processing power and network bandwidth.
		Compression:
			A compression preset. Faster options will compress the stream
			less, making delays shorter and using less processing power,
			but make the stream look worse. Slower presets increase the
			delay and the CPU usage but make the video quality less blurry.
		Bitrate:
			More specific setting for the stream quality. Higher
			bitrate makes the stream in less blurry, but also consumes
			more bandwidth.
		Threads:
			This is the number of threads you will use to encode the
			video. Using more threads encodes the video faster, but
			uses more processing power. This setting should not be
			higher than the amount of cores your CPU has.
		Show Capture Region:
			If this setting is on, it will draw a rectangle around the
			area you are currently capturing. This helps to position and
			resize windows to fit the stream. The setting can be either
			1 (on) or 0 (off).
		Enable Watermarking:
			Enables a transparent image overlay, that will be shown in
			the stream. CAUTION: Watermarking requires more processing
			power than streams without it. Your stream may have more
			frequent framedrops and lower framerates.
		Watermark:
			Allows you to pick a PNG image to be used as your watermark.
			CAUTION: The resolution of the watermark must be less than
			or equal to the output resolution of your stream!
		Enable Webcam:
			Enables the webcam overlay. By default it will be placed to
			the top left corner. You will need a V4L2 compatible
			webcam to use this.
		Configure Webcam:
			Opens the webcam configuration window, which allows you to
			configure the placement and resolution of the webcam overlay.
			The overlay can be placed to any side of the screen or
			even to the middle of the screen if necessary.
		Reset Stream Key:
			Allows you to change the stream key.
		Service Selector:
			Service selector is a drop-down menu on the bottom of the
			settings dialog that allows you to switch between multiple
			livestream providers (Twitch.tv, Hitbox.tv and YouTube).
			You can also select "Local File", which will pipe the
			video to the current directory, or "Custom" which allows
			you to use an "unsupported" video service.
			REMEMBER: You will have to re-enter your stream key every 
			time you change your service.
		Custom Service:
			Here you can configure Castawesome to work with a service
			that is not officially supported by Castawesome ie. a
			service that isn't found on the Service Selector.
			To use this, select "Custom" on the Service Selector and
			input the RTMP URL to the Custom Service dialog.
			
		
	8.	Click the toggle button to start the stream.
	
	Now you have installed and configured Castawesome. Your settings
	will be saved, so that next time you only need to toggle the stream
	on.
	
Bug reports, comments, patches?
	For any and all feedback, send message to 
	[email protected]

About

A GUI wrapper for FFmpeg and avconv for Livestreaming

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •