Page 6 of 25 FirstFirst ... 4567816 ... LastLast
Results 51 to 60 of 246

Thread: HOWTO: Proper Screencasting on Linux

  1. #51
    Join Date
    Sep 2006
    Beans
    3,713

    Re: HOWTO: Proper Screencasting on Linux

    FFmpeg still seems to have trouble with mouse themes that include a drop shadow with transparency and renders it with a black border (see mouse-shadow.png). If you want to avoid the ugly mouse border use a mouse theme that doesn't include a mouse shadow with transparency, such as the somewhat ugly basic x11 mouse theme. It may be included in Ubuntu by default, but a similar Basic theme is available at gnome-look.org. You can change the mouse theme in System > Preferences > Appearance > Theme Tab > Customize > Pointer.


    Update: Fixed by FFmpeg revision 25690: Make x11grab cursor drawing suck less.
    Attached Images Attached Images
    Last edited by FakeOutdoorsman; November 7th, 2010 at 08:43 PM.

  2. #52
    Join Date
    Sep 2006
    Beans
    3,713

    Re: HOWTO: Proper Screencasting on Linux

    I also submitted a bug report on the very slow FFmpeg issue tracker:

    Issue 2056: x11grab fails to render mouse shadow transparency

    Update: Fixed by FFmpeg revision 25690: Make x11grab cursor drawing suck less.
    Last edited by FakeOutdoorsman; November 7th, 2010 at 08:44 PM.

  3. #53
    Join Date
    Mar 2007
    Beans
    Hidden!

    Re: HOWTO: Proper Screencasting on Linux

    The examples were updated to use the new libx264 presets, which are now part of an official release (i.e. FFmpeg 0.6).
    Freedom is neither exclusive nor unlimited.

  4. #54

    Re: HOWTO: Proper Screencasting on Linux

    This is excellent! Thanks for posting.

    I had the exact same problem and tried each of the apps that you mentioned above.

    Is there anything that ffmpeg does not do?

  5. #55
    Join Date
    Mar 2007
    Beans
    Hidden!

    Re: HOWTO: Proper Screencasting on Linux

    Guide update: Rewrote a paragraph, made more verbose.

    Quote Originally Posted by cfriedt View Post
    This is excellent! Thanks for posting.

    I had the exact same problem and tried each of the apps that you mentioned above.

    Is there anything that ffmpeg does not do?
    FFmpeg can't pause/resume screencasting, but, as explained in the guide, there are workarounds for this issue. It is also not possible to hide the mouse cursor. Maybe there are more, too.
    Freedom is neither exclusive nor unlimited.

  6. #56
    Join Date
    Aug 2007
    Location
    Nine Towers
    Beans
    336
    Distro
    Ubuntu 10.10 Maverick Meerkat

    Re: HOWTO: Proper Screencasting on Linux

    Great guide. Thanks a lot! Just tried one screencast using this line
    Code:
    me@ubuntu:~$ ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1440x780 -i :0.0+0,24 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output2.mkv
    It started to run
    Code:
    FFmpeg version SVN-r24757, Copyright (c) 2000-2010 the FFmpeg developers
      built on Aug 10 2010 10:45:27 with gcc 4.4.3
      configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
      libavutil     50.23. 0 / 50.23. 0
      libavcore      0. 3. 0 /  0. 3. 0
      libavcodec    52.84. 3 / 52.84. 3
      libavformat   52.78. 1 / 52.78. 1
      libavdevice   52. 2. 1 / 52. 2. 1
      libavfilter    1.31. 0 /  1.31. 0
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
    [alsa @ 0xa2f7470] capture with some ALSA plugins, especially dsnoop, may hang.
    [alsa @ 0xa2f7470] Estimating duration from bitrate, this may be inaccurate
    Input #0, alsa, from 'pulse':
      Duration: N/A, start: 1282035130.989986, bitrate: N/A
        Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    [x11grab @ 0xa308c90] device: :0.0+0,24 -> display: :0.0 x: 0 y: 24 width: 1440 height: 780
    [x11grab @ 0xa308c90] shared memory extension  found
    [x11grab @ 0xa308c90] Estimating duration from bitrate, this may be inaccurate
    Input #1, x11grab, from ':0.0+0,24':
      Duration: N/A, start: 1282035131.788161, bitrate: 1078272 kb/s
        Stream #1.0: Video: rawvideo, bgra, 1440x780, 1078272 kb/s, 30 tbr, 1000k tbn, 30 tbc
    [buffer @ 0xa317680] w:1440 h:780 pixfmt:bgra
    [ffmpeg_output @ 0xa331bf0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
    [scale @ 0xa330ad0] w:1440 h:780 fmt:bgra -> w:1440 h:780 fmt:yuv420p flags:0xa0000004
    [libx264 @ 0xa316d70] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
    [libx264 @ 0xa316d70] profile High 4:4:4 Predictive, level 3.2, bit depth 8
    [libx264 @ 0xa316d70] 64 - core 104 r1688 0b36c6d - H.264/MPEG-4 AVC codec - Copyleft 2003-2010 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, matroska, to 'output2.mkv':
      Metadata:
        encoder         : Lavf52.78.1
        Stream #0.0: Video: libx264, yuv420p, 1440x780, q=10-51, 200 kb/s, 1k tbn, 30 tbc
        Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    Stream mapping:
      Stream #1.0 -> #0.0
      Stream #0.0 -> #0.1
    Press [q] to stop encoding
    , but it stopped after a while with errors:
    Code:
    [matroska @ 0xa315820] st:1 error, non monotone timestamps 4790 >= 4790/s    
    av_interleaved_write_frame(): Operation not permitted
    Googled and reading https://roundup.ffmpeg.org/issue807 now..
    Last edited by Stoneface; August 17th, 2010 at 09:59 AM.
    process `skype' is using obsolete setsockopt SO_BSDCOMPAT

  7. #57
    Join Date
    Mar 2007
    Beans
    Hidden!

    Re: HOWTO: Proper Screencasting on Linux

    Quote Originally Posted by Stoneface View Post
    Great guide. Thanks a lot! Just tried one screencast using this line
    Code:
    me@ubuntu:~$ ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1440x780 -i :0.0+0,24 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output2.mkv
    It started to run
    Code:
    FFmpeg version SVN-r24757, Copyright (c) 2000-2010 the FFmpeg developers
      built on Aug 10 2010 10:45:27 with gcc 4.4.3
      configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
      libavutil     50.23. 0 / 50.23. 0
      libavcore      0. 3. 0 /  0. 3. 0
      libavcodec    52.84. 3 / 52.84. 3
      libavformat   52.78. 1 / 52.78. 1
      libavdevice   52. 2. 1 / 52. 2. 1
      libavfilter    1.31. 0 /  1.31. 0
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
    [alsa @ 0xa2f7470] capture with some ALSA plugins, especially dsnoop, may hang.
    [alsa @ 0xa2f7470] Estimating duration from bitrate, this may be inaccurate
    Input #0, alsa, from 'pulse':
      Duration: N/A, start: 1282035130.989986, bitrate: N/A
        Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    [x11grab @ 0xa308c90] device: :0.0+0,24 -> display: :0.0 x: 0 y: 24 width: 1440 height: 780
    [x11grab @ 0xa308c90] shared memory extension  found
    [x11grab @ 0xa308c90] Estimating duration from bitrate, this may be inaccurate
    Input #1, x11grab, from ':0.0+0,24':
      Duration: N/A, start: 1282035131.788161, bitrate: 1078272 kb/s
        Stream #1.0: Video: rawvideo, bgra, 1440x780, 1078272 kb/s, 30 tbr, 1000k tbn, 30 tbc
    [buffer @ 0xa317680] w:1440 h:780 pixfmt:bgra
    [ffmpeg_output @ 0xa331bf0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
    [scale @ 0xa330ad0] w:1440 h:780 fmt:bgra -> w:1440 h:780 fmt:yuv420p flags:0xa0000004
    [libx264 @ 0xa316d70] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
    [libx264 @ 0xa316d70] profile High 4:4:4 Predictive, level 3.2, bit depth 8
    [libx264 @ 0xa316d70] 64 - core 104 r1688 0b36c6d - H.264/MPEG-4 AVC codec - Copyleft 2003-2010 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, matroska, to 'output2.mkv':
      Metadata:
        encoder         : Lavf52.78.1
        Stream #0.0: Video: libx264, yuv420p, 1440x780, q=10-51, 200 kb/s, 1k tbn, 30 tbc
        Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    Stream mapping:
      Stream #1.0 -> #0.0
      Stream #0.0 -> #0.1
    Press [q] to stop encoding
    , but it stopped after a while with errors:
    Code:
    [matroska @ 0xa315820] st:1 error, non monotone timestamps 4790 >= 4790/s    
    av_interleaved_write_frame(): Operation not permitted
    Googled and reading https://roundup.ffmpeg.org/issue807 now..
    This happens when you run out of disk space. As explained in the guide, the first step is _lossless_, therefore it takes a huge amount of disk space. That's why we have a second step to compress the screencast.

    Make sure you have enough free space, you probably need several gigabytes.
    Freedom is neither exclusive nor unlimited.

  8. #58
    Join Date
    Aug 2007
    Location
    Nine Towers
    Beans
    336
    Distro
    Ubuntu 10.10 Maverick Meerkat

    Re: HOWTO: Proper Screencasting on Linux

    If I run
    Code:
    ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1440x780 -i :0.0 -acodec flac -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mk
    it runs and stores. used flac instead of earlier mentioned acodec. Only Totem somehow won't play it. Maybe a missing codec. Will convert it shortly..
    process `skype' is using obsolete setsockopt SO_BSDCOMPAT

  9. #59
    Join Date
    Sep 2006
    Beans
    3,713

    Re: HOWTO: Proper Screencasting on Linux

    You may need to install gstreamer0.10-ffmpeg to allow Totem to decode the video. Note: I am guessing here. I am not a Totem user.

  10. #60
    Join Date
    Dec 2009
    Beans
    Hidden!

    Re: HOWTO: Proper Screencasting on Linux

    you, my friend, are a genius.

Page 6 of 25 FirstFirst ... 4567816 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •