You are not logged in.

#1 2009-12-01 21:26:54

tjwoosta
Member
Registered: 2008-12-18
Posts: 453

What screencasting software do you use for youtube uploads?

Ive been trying to make decent HD screencast using the ffcast script from aur. I chose the ffcast script because it uses the least cpu and gives me the best quality/framerate combination I can get with any of the screencasting software Ive found. I can make the screencast fine, and aside from a slight framerate issue (still better then any others) the quality is perfect. The problem comes when I try to upload to youtube. Supposedly youtube works with h264 and preferably .flv or .mpeg containers, but also works with .avi, and .mov.

The ffcast script according to the forum page here uses x264, so no matter which container format I use it comes out all screwed up when I upload. like this

I have successfully uploaded one video here, but to do so I had to use avidemux and convert the x264 .avi to an flv1 .flv and doing so I lost a ton of quality. ( I used .avi here because I already tried uploading every container type and nothing worked, not even .flv because its x264 instead of h264 I assume.  Avi gave me the best framerate so i went with that.)

I have tried gtk-recordmydesktop but it always crashes X as soon as it starts recording. I also tried istanbul but as soon as it stops recording the box pops up for a split second asking me where to save it then it dissapears and the program dies silently. I tried xvidcap, it works and gives me a usable format, but It uses 95-100% cpu on a 1.4 ghz pentium dual and has really horrible framerate no matter how I set it, talk about stuttering. It also slows my computer right down and causes extreme lag while Im trying to record so its basically useless.

Basically I just wanted to know what do you all use, and what are the secrets to uploading a high quality HD screencast in linux with a 1280x800 monitor? I also would like to have a better framerate then im getting now, if possible. I hear that for hd you need to use 1280x720 but I don't see how thats possible in this case unless I were to crop or scale which would defeat the purpose.

Last edited by tjwoosta (2009-12-01 21:27:25)

Offline

#2 2009-12-02 07:09:45

doorknob60
Member
Registered: 2008-09-29
Posts: 404

Re: What screencasting software do you use for youtube uploads?

For OpenGL stuff, I usually get the best performance out of glc. It works similarly to Fraps on Windows, going directly to the hardware. The downside, it only works on hardware accelerated games. It's in AUR. Here's a vid I made recorded in glc (and edited in Kdenlive): http://www.youtube.com/watch?v=Bt22w1dwbM4

GTK-recordmydesktop works for everything else (this one's edited in WMM though, sorry tongue): http://www.youtube.com/watch?v=mqnUfOT-sjw

Last edited by doorknob60 (2009-12-02 07:12:11)

Offline

#3 2009-12-02 09:08:39

lolilolicon
Member
Registered: 2009-03-05
Posts: 1,722

Re: What screencasting software do you use for youtube uploads?

@tjwoosta

First I'd like to clarify things a bit.

1) The x264 is a library, i.e. an encoder to convert videos into the H.264/MPEG-4 AVC format. It is one of the various implementations that does H.264 encoding. So basically you can't compare x264 with h264.

2) ffcast is NOT that script Neuro described in the opening post of that thread.
ffcast is supposed to be able to produce videos with *any* video codec to *any* video format as long as supported by ffmpeg. The default uses the x264 encoder and outputs to h264 format. But you can specify the encoder with the -c option and the output format with -f option. And if you use -c '' -f '', you tell ffcast to determine your output format from file extension (specified with `-o file.ext'). By the way, you can change the framerate with the -r option (set it higher than the default value 15, if you feel it choppy).

------------
Hmm.. so let's look at your problem with youtube now.
I don't know what youtube accepts or not, so I am suggesting some _possible_ solutions:

a). You can pipe the output directly to ffmpeg, thus encoding it to the desired format on the fly.

# ffmpeg converts video into MPEGv1 format, resizing to 320x240.
ffcast -o - -r 25 | ffmpeg -i - -y -sameq -s 320x240 fff.mpg

b). Tune ffcast to output to your desired format:

# output to Macromedia Flash Video, 20FPS.
ffcast -r 20 -f 'flv' -c 'flv' -o ff.flv

Just two simple examples that may or may not work for you.
You can always experiment, also by comparing with the video avidmux produced.
------------
My suggestions on using ffcast:
At least read the --help message. And it's got a man page too smile
Use the --debug option and it will tell you what's being done behind there.
Also the --printcmd option gives you the ffmpeg command ffcast uses to record the video, without actually do the recording. Useful if you want to use a further customized ffmpeg command line.
I just added -sameq to the default ffmpeg command line used by ffcast, which helps greatly regarding the video quality. You may want to update to the newest version.

Good luck!


This silver ladybug at line 28...

Offline

#4 2009-12-02 18:02:18

tjwoosta
Member
Registered: 2008-12-18
Posts: 453

Re: What screencasting software do you use for youtube uploads?

@lolilolicon

Thank you for being so understanding with my incompetence,  that clears up a so much confusion.  I think this will work. smile

Last edited by tjwoosta (2009-12-02 18:10:27)

Offline

#5 2009-12-05 10:26:12

shock
Member
Registered: 2009-12-05
Posts: 25

Re: What screencasting software do you use for youtube uploads?

i found one tutorial for screencasting, hope this helps.

Offline

#6 2012-10-21 13:30:52

hendry
Member
From: Singapore
Registered: 2009-09-08
Posts: 157
Website

Re: What screencasting software do you use for youtube uploads?

I recently created https://github.com/kaihendry/recordmydesktop2.0 which might help Archers.

Offline

#7 2012-10-21 14:24:46

Rasi
Member
From: Germany
Registered: 2007-08-14
Posts: 1,914
Website

Re: What screencasting software do you use for youtube uploads?

hendry wrote:

I recently created https://github.com/kaihendry/recordmydesktop2.0 which might help Archers.

Seems nice.. can you please give it an option to not record sound?


He hoped and prayed that there wasn't an afterlife. Then he realized there was a contradiction involved here and merely hoped that there wasn't an afterlife.

Douglas Adams

Offline

#8 2012-10-21 15:11:27

Šaran
Member
From: Bosnia
Registered: 2011-09-03
Posts: 407

Re: What screencasting software do you use for youtube uploads?

@hendry, you should open a new thread in Community contributions.

Offline

#9 2012-10-25 23:16:54

Xaero252
Member
Registered: 2011-11-28
Posts: 107

Re: What screencasting software do you use for youtube uploads?

I found most of the pre-configured solutions to be very lackluster in performance or quality.
For example, *recordmydesktop seemed to produce decent quality video, but any adjustment of framerate seemed to just make the resulting video playback in fast forward (i.e. it set the container format to 60fps, but only captured 15 fps resulting in 4x playback speed) And never seemed to capture audio properly.
From there, I tried other options like fdesktoprecord which used ffmpeg as a backend, but it never really seemed to get things right either, video flickered, quality was loopy, and distortion wasn't uncommon. (Keep in mind this is on an 8 threaded SMP machine with 12gb of ram and a decent raid array for recording) and eventually came ot the conclusion that most of these utilities were written with specific uses in mind, and often times written before hardware was capable of recording at high resolution and encoding it on the fly.

In the end, I decided to use ffmpeg with a script to record video, and I couldn't be happier:

KEY=YOUR STREAM KEY GOES HERE!
TIMESTAMP=$(date "+%m-%d-%y @ %H%M") # My chosen timestamp for filename on my local copy
ffmpeg\
        -f x11grab -s 1920x1200 -r 60 -i :0.0\
        -f alsa -ac 2 -i pulse\
        -vcodec libx264 -preset ultrafast\
        -b:v 4096k -b:a 128k\
        -pix_fmt yuv420p\
        -acodec libmp3lame -ar 44100 -ab 96k\
        -threads 0\
        -f flv - |\
                ffmpeg -i - \
                        -c copy -f flv rtmp://live.justin.tv/app/$KEY \
                        -c copy -f mp4 "/media/Array/Video/footage/wow/WoW on `echo $TIMESTAMP`.mp4"

I use this script for streaming WoW to Twitch.tv and recording the footage to my local storage array over my gigabit lan. The resulting video is roughly 5.0mb/s with protocol overhead and such, and very high quality; you can adjust the settings as you see fit. -pix_fmt yuv420p technically reduces video quality and is only neccesary for the stream to work. This uses about 30% cpu resources on my machine (4.2ghz i7 920, 12gb DDR3-1600) You can use null as an audio input, or remove the audio channel altogether. I currently have the script keybound to Super+F12 (urxvt -e sh ~/scripts/record.sh), which works well as its not easily pressed on accident, and still provides rapid access to footage recording. You can also setup a loopback with pulseaudio, though in my experience it results in garbled audio when using it with audio playback and microphone input, I've read of being able to solve this using JACK to handle the muxing/loopback but I haven't been able to get it to work personally yet.

Also, I suppose its worth mentioning that I use this script to record any and ALL video. I can use it for opengl, xgl, sdl, and unaccelerated screens. It records any information sent to the X display server.

Last edited by Xaero252 (2012-10-26 00:24:03)

Offline

#10 2012-10-26 00:18:31

steve___
Member
Registered: 2008-02-24
Posts: 454

Re: What screencasting software do you use for youtube uploads?

Nice.

I suggest using lower case var names to unsure they don't collide with
global var names.

Also I suggest putting double quotes around $KEY

-c copy -f flv "rtmp://live.justin.tv/app/$KEY"

In case the key has characters like '!' or '&', which will get
interpreted by the shell.

Also you can make this change:

-c copy -f mp4 "/media/Array/Video/footage/wow/WoW on $TIMESTAMP.mp4"

Offline

#11 2012-10-26 00:29:25

Xaero252
Member
Registered: 2011-11-28
Posts: 107

Re: What screencasting software do you use for youtube uploads?

steve___ wrote:

Nice.

I suggest using lower case var names to unsure they don't collide with
global var names.

Also I suggest putting double quotes around $KEY

-c copy -f flv "rtmp://live.justin.tv/app/$KEY"

In case the key has characters like '!' or '&', which will get
interpreted by the shell.

Also you can make this change:

-c copy -f mp4 "/media/Array/Video/footage/wow/WoW on $TIMESTAMP.mp4"

Thanks for the suggestions! I should probably make the changes to the script; it works fine for my particular case, but I hadn't thought much of other cases when I was trying to get an acceptable production-quality recording. I am actually planning on making the script a little more dynamic and a lot less hard coded. For exmaple, I could have a a defaultpath variable for the default output directory, and accept a command line argument for an override path. Heck, with a minimal amount of effort I could write a pygtk frontend for ffmpeg and make it very configurable and more "user friendly" than a script big_smile

Offline

#12 2012-10-26 00:35:45

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,731
Website

Re: What screencasting software do you use for youtube uploads?

Offline

Board footer

Powered by FluxBB