On Monday 27 Jun 2011 12:08:17 Stroller wrote:
> On 26 June 2011, at 19:54, Mick wrote:

> >> Try passing "-sameq"
> > 
> > WOW!  Exceptional improvement in a single stroke!  Thanks!  :)
> > 
> > Why is it that ffmpeg degrades the quality with default settings?  What
> > does it assume that the setting is? (sorry for the newbie Qs, but this
> > area is until now outside my cognitive map! ;-)
> 
> I don't know about the "default" settings, but I would interpret the file
> extension of your original command as telling mplayer that "the
> destination file should be encoded as mpeg2". This is a pretty poor codec
> by today's standards.
> 
> I could well be wrong, though. Do you know what format the output file is?

No, I have no idea.  I assume it is capturing my desktop in some raw video 
format - whatever that means.  What would X11 feed to x11grab?


> IMO you're best encoding to h264 (in an mp4 container) for distribution,
> but I think it's possible the encoding load of that might affect your
> screencast. So you might wish to use sameq or the r210 or rawvideo codecs
> and then transcode to h264 (or WebM or whatever) afterwards.

I changed the output file to mp4 and it transcodes it accordingly!  :)

 ffmpeg -f x11grab -s xga -r 25 -i :0.0 -sameq -aspect 4:3 /tmp/out.mp4
FFmpeg version SVN-r25767, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 30 2011 17:04:59 with gcc 4.4.4
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --
mandir=/usr/share/man --enable-static --enable-shared --cc=x86_64-pc-linux-
gnu-gcc --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --
disable-stripping --disable-debug --disable-doc --disable-network --disable-
static --disable-vdpau --enable-libmp3lame --enable-libvorbis --enable-libx264 
--enable-libxvid --enable-libfaac --enable-nonfree --disable-indev=v4l --
disable-indev=oss --disable-indev=jack --enable-x11grab --disable-outdev=oss 
--enable-libopencore-amrwb --enable-libopencore-amrnb --enable-librtmp --
disable-altivec --cpu=core2 --enable-hardcoded-tables
  libavutil     50.33. 0 / 50.33. 0
  libavcore      0.13. 0 /  0.13. 0
  libavcodec    52.96. 0 / 52.96. 0
  libavformat   52.84. 0 / 52.84. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.62. 0 /  1.62. 0
  libswscale     0.12. 0 /  0.12. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[x11grab @ 0x1a52510] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1024 
height: 768
[x11grab @ 0x1a52510] shared memory extension  found
[x11grab @ 0x1a52510] Estimating duration from bitrate, this may be inaccurate
Input #0, x11grab, from ':0.0':
  Duration: N/A, start: 1309180986.812527, bitrate: 629145 kb/s
    Stream #0.0: Video: rawvideo, bgra, 1024x768, 629145 kb/s, 25 tbr, 1000k 
tbn, 25 tbc
[buffer @ 0x1a7db80] w:1024 h:768 pixfmt:bgra
[ffsink @ 0x1a7ddf0] auto-inserting filter 'auto-inserted scaler 0' between 
the filter 'src' and the filter 'out'
[scale @ 0x1a7e110] w:1024 h:768 fmt:bgra -> w:1024 h:768 fmt:yuv420p 
flags:0xa0000004
Output #0, mp4, to '/tmp/out.mp4':
  Metadata:
    encoder         : Lavf52.84.0
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], q=2-31, 
200 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame=   14 fps=  0 q=0.0 size=     702kB time=0.68 bitrate=8454.1kbits/s 
dup=frame=   27 fps= 25 q=0.0 size=    1056kB time=1.20 bitrate=7212.1kbits/s 
dup=frame=   40 fps= 25 q=0.0 size=    1411kB time=1.72 bitrate=6720.9kbits/s 
dup=
[snip...]


Then it plays it as such:

mplayer /tmp/out.mp4 
MPlayer SVN-r32624-4.4.4 (C) 2000-2010 MPlayer Team

Playing /tmp/out.mp4.
libavformat file format detected.
[lavf] stream 0: video (mpeg4), -vid 0
VIDEO:  [MP4V]  1024x768  24bpp  25.000 fps  5798.3 kbps (707.8 kbyte/s)
Clip info:
 major_brand: isom
 minor_version: 512
 compatible_brands: isomiso2mp41
 encoder: Lavf52.84.0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Starting playback...
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [xv] 1024x768 => 1024x768 Planar YV12 
V:  19.1   0/  0  5%  0%  0.0% 0 0 


Exiting... (End of file)


Not sure how to define the vcodec to be h264.  Is ffodivx the same as h264?


> > Now, I hope I'm not getting greedy, but how do I add voice recording to
> > the above stanza?  Or do I have to record voice and then package it
> > along with the video in a container as a separate step?
> 
> EXAMPLES
>    Video and Audio grabbing
>        FFmpeg can grab video and audio from devices given that you specify
> the input format and device.
> 
>                ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0
> /tmp/out.mpg
> 
>        Note that you must activate the right video source and channel
> before launching FFmpeg with any TV viewer such as xawtv
>        (<http://linux.bytesex.org/xawtv/>) by Gerd Knorr. You also have to
> set the audio recording levels correctly with a standard mixer.
> 
> Audacity is widely used for simple audio editing.

Great!  Thanks Stroller.  :)

-- 
Regards,
Mick

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to