[FFmpeg-user] Black video when recording from vnc server.
Michel Albert
michel at albert.lu
Sat Apr 2 16:46:08 CEST 2016
Hello everyone :)
I wanted to record a screencast via a VNC server. My desktop does not run
Linux, and I have a headless server running Linux.
In Ubuntu 12.04, I was able to record screencasts using vlc, but since
upgrading to Ubuntu 15.04 this has become unbearably slow, so I wanted to
switch to ffmpeg. To be honest, seems like a better solution anyway.
On the server I run a slim fluxbox setup, starting up with "vncserver".
Inspecting xdpyinfo (output attached as xdpyinfo.txt), I see that my
display is ":1.0"
So following [1], the command I tried to use was:
ffmpeg -f x11grab -framerate 25 -video_size cif -i :1.0 out.mpg
The output is attached as "output.txt". I also attached the output of
"ffprobe" on the resulting video file.
I also noticed this on my Laptop (which runs the same Ubuntu version). The
peculiar thing here is that running it from my Laptop's desktop manually
works. But when I run a vncserver instance, and try to record *that* one, I
get a black video.
Adding "show_region" to the command does *not* show a border in the vnc
instance. But it *does* show the border when running on my main Laptop
desktop.
Googlin only turned up [2] and [3]. So I am wondering if it is an isolated
issue with my installation, or if there's something wrong with my ffmpeg
incantation? Following [3] I tried with an x264 output with yuv420p but I
still get only black video :(
[1]: https://ffmpeg.org/ffmpeg-devices.html#x11grab
[2]:
http://superuser.com/questions/727352/got-black-screen-when-recording-screen-from-xvfb-by-ffmpeg-x11grab-device
[3]: https://ffmpeg.org/pipermail/ffmpeg-user/2015-October/028962.html
-------------- next part --------------
ffmpeg version 2.7.6-0ubuntu0.15.10.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010
configuration: --prefix=/usr --extra-version=0ubuntu0.15.10.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
[x11grab @ 0xbfdf80] XFixes not available, cannot draw the mouse.
Input #0, x11grab, from ':1.0':
Duration: N/A, start: 1459607836.875122, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 352x288, 25 fps, 25 tbr, 1000k tbn, 25 tbc
[mpeg @ 0xc04680] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'sessions/out.mpg':
Metadata:
encoder : Lavf56.36.100
Stream #0:0: Video: mpeg1video, yuv420p, 352x288, q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc56.41.100 mpeg1video
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))
Press [q] to stop, [?] for help
frame= 214 fps= 25 q=2.0 Lsize= 40kB time=00:00:08.52 bitrate= 38.5kbits/s
video:39kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.559870%
-------------- next part --------------
name of display: :1
version number: 11.0
vendor string: The XFree86 Project, Inc
vendor release number: 40300000
XFree86 version: 4.3.0
maximum request size: 4194300 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, LSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats: 2
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
keycode range: minimum 8, maximum 255
focus: window 0x600010, revert to PointerRoot
number of extensions: 24
BIG-REQUESTS
DEC-XTRAP
DOUBLE-BUFFER
Extended-Visual-Information
FontCache
GLX
LBX
MIT-SCREEN-SAVER
MIT-SHM
MIT-SUNDRY-NONSTANDARD
RANDR
RECORD
SECURITY
SGI-GLX
SHAPE
SYNC
TOG-CUP
VNC-EXTENSION
X-Resource
XC-APPGROUP
XC-MISC
XFree86-Bigfont
XTEST
XVideo
default screen number: 0
number of screens: 1
screen #0:
dimensions: 1280x1024 pixels (325x260 millimeters)
resolution: 100x100 dots per inch
depths (2): 1, 24
root window id: 0x2e
depth of root window: 24 planes
number of colormaps: minimum 1, maximum 1
default colormap: 0x21
default number of colormap cells: 256
preallocated pixels: black 0, white 16777215
options: backing-store YES, save-unders YES
largest cursor: 1280x1024
current input event mask: 0xd8001f
KeyPressMask KeyReleaseMask ButtonPressMask
ButtonReleaseMask EnterWindowMask SubstructureNotifyMask
SubstructureRedirectMask PropertyChangeMask ColormapChangeMask
number of visuals: 8
default visual id: 0x24
visual:
visual id: 0x24
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x25
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x26
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x27
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x28
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x29
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x2a
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
visual:
visual id: 0x2b
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff, 0xff00, 0xff0000
significant bits in color specification: 8 bits
-------------- next part --------------
ffprobe version 2.7.6-0ubuntu0.15.10.1 Copyright (c) 2007-2016 the FFmpeg developers
built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010
configuration: --prefix=/usr --extra-version=0ubuntu0.15.10.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpeg, from 'sessions/out.mpg':
Duration: 00:00:08.24, start: 0.540000, bitrate: 39 kb/s
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x288 [SAR 1:1 DAR 11:9], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
More information about the ffmpeg-user
mailing list