Crisp, exact color match for lossless screen-cast

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Crisp, exact color match for lossless screen-cast

thangalin
Hi,

I would like to record an audio-less screen-cast. The following image shows a side-by-side comparison of the video (left) versus the desktop (right):

http://i.stack.imgur.com/lSXXY.png

The screen-cast is recorded using:

    ffmpeg -r 30 -f x11grab -s $WIN_GEO -i :0.0+$WIN_XY -vcodec huffyuv -preset ultrafast -qp 0 output.mkv

Where $WIN_GEO has the browser dimensions (1030x794) and $WIN_XY has the browser location (1020x221).

The problem is that the video colours differ from the desktop colours, resulting in a slightly blurry playback (the whites are off-white... washed out, slightly tarnished). I have read that this could be due to conversion between RGB and YUV colours.

How do you create a desktop video (screen-cast) that when played back (e.g., using mplayer, VLC, or ffplay) results in an *exact* match to the original desktop colours and crispness?

Thank you!
Reply | Threaded
Open this post in threaded view
|

Re: Crisp, exact color match for lossless screen-cast

Bob Maple
On 3/21/2014 12:32 PM, thangalin wrote:

> How do you create a desktop video (screen-cast) that when played back (e.g.,
> using mplayer, VLC, or ffplay) results in an *exact* match to the original
> desktop colours and crispness?

You would need to use a lossless RGB codec like qtrle (in a Quicktime)
or even rawvideo rgb24 (Quicktime, AVI) like

 -vcodec qtrle -pix_fmt rgb24       or
 -vcodec rawvideo -pix_fmt rgb24

but keep in mind that this will create quite large files (less so with
RLE but it depends on the content) and need to be written to a fast disk
the higher your capture resolution -- and may not play back smoothly for
similar reasons even if all the frames originally made it to disk.
Uncompressed 24-bit is (((W * H) * 3) * fps) so your 1030x794 capture at
30fps would be ~2.4MB per frame, or almost 74MB/sec.

I'm not sure what (if any) lossless RGB codecs are supported in MKV or
other wrappers.  It depends on what you intend to do with the video
afterwards besides just play it in VLC, etc.

Bob
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|

Re: Crisp, exact color match for lossless screen-cast

Carl Eugen Hoyos
Bob Maple <bobm-ffmpeg <at> burner.com> writes:

> I'm not sure what (if any) lossless RGB codecs are supported in MKV or
> other wrappers.

-vcodec ffv1, -vcodec huffyuv, -vcodec ffvhuff and -vcodec libx264rgb
come to mind.

Carl Eugen

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|

Re: Crisp, exact color match for lossless screen-cast

Carl Eugen Hoyos
In reply to this post by thangalin
thangalin <thangalin <at> gmail.com> writes:

>     ffmpeg -r 30 -f x11grab -s $WIN_GEO -i :0.0+$WIN_XY -vcodec huffyuv
> -preset ultrafast -qp 0 output.mkv

(Actual command line without variables and) complete, uncut console
output missing that would allow us to know if what you write below
is possible...

> The problem is that the video colours differ from the desktop colours,
> resulting in a slightly blurry playback (the whites are off-white... washed
> out, slightly tarnished). I have read that this could be due to conversion
> between RGB and YUV colours.

This is unlikely for huffyuv (which supports RGB), the more likely
explanation is that your playback application does not support RGB,
try mplayer -vo gl

Carl Eugen

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user