You are not logged in.

#1 2016-02-02 16:35:17

rdahlgren
Member
From: Middle States, USA
Registered: 2014-02-17
Posts: 36
Website

[SOLVED] guvcview no longer records video

I've been using guvcview to capture video chats three times a week since November. Between Friday (2016-01-29) and today (2016-02-02) something has changed and video is no longer recorded. I did perform a full system update (`pacman -Syu`) at least twice in that period.

Here are some facts:

* I'm using the same setup as all previous times
* Same webcam
* Same usb port
* Symptoms are the same after a fresh boot

Here are the symptoms:

* When launched, the preview feed in guvcview works as expected.
* When recording begins, everything seems to be functioning. The feed updates, the volume indicator moves, etc.
* After recording has finished, the resulting mkv file is suspiciously small
* When played, the mkv file features the first frame of video, as a still frame, with the audio playing back properly.

I've not really paid too much attention to the guvcview output on the console, but I do believe the following items are new:

rdahlgren@athas:~ $ guvcview
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: Could not grab image (select timeout): Directory not empty
V4L2_CORE: Could not grab image (select timeout): Directory not empty
V4L2_CORE: Could not grab image (select timeout): Directory not empty


Later, after approximately one second of recording video, some logging from matroska about packet buffers being in use is emitted. The following snippet includes recording video for ~2 seconds before stopping.

rdahlgren@athas:~ $ guvcview
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: No such file or directory
V4L2_CORE: Could not grab image (select timeout): Directory not empty
V4L2_CORE: Could not grab image (select timeout): Directory not empty
V4L2_CORE: Could not grab image (select timeout): Directory not empty

(guvcview:2120): Gdk-CRITICAL **: gdk_device_get_n_axes: assertion 'gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD' failed

(guvcview:2120): Gdk-CRITICAL **: gdk_device_get_n_axes: assertion 'gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD' failed
GUVCVIEW: (status) saving video to /home/rdahlgren/my_video-9.mkv
ENCODER: add stream 0 to stream list
ENCODER: add stream 1 to stream list
ENCODER: (matroska) add seekhead entry 0 (max 10)
ENCODER: (matroska) add seekhead entry 1 (max 10)
AUDIO: Pulseaudio pa_stream_get_latency() failed
ENCODER: (matroska) packet buffer [0] is in use: flushing cached data
ENCODER: (matroska) packet buffer [1] is in use: flushing cached data
ENCODER: (matroska) packet buffer [2] is in use: flushing cached data
ENCODER: (matroska) packet buffer [3] is in use: flushing cached data
ENCODER: (matroska) packet buffer [4] is in use: flushing cached data
ENCODER: (matroska) packet buffer [5] is in use: flushing cached data
ENCODER: (matroska) packet buffer [6] is in use: flushing cached data
ENCODER: (matroska) packet buffer [7] is in use: flushing cached data
ENCODER: (matroska) packet buffer [8] is in use: flushing cached data
ENCODER: (matroska) packet buffer [9] is in use: flushing cached data
ENCODER: (matroska) packet buffer [10] is in use: flushing cached data
ENCODER: (matroska) packet buffer [11] is in use: flushing cached data
ENCODER: (matroska) packet buffer [12] is in use: flushing cached data
ENCODER: (matroska) packet buffer [13] is in use: flushing cached data
ENCODER: (matroska) packet buffer [14] is in use: flushing cached data
ENCODER: (matroska) packet buffer [15] is in use: flushing cached data
ENCODER: (matroska) packet buffer [16] is in use: flushing cached data
ENCODER: (matroska) packet buffer [17] is in use: flushing cached data
ENCODER: (matroska) packet buffer [18] is in use: flushing cached data
ENCODER: (matroska) packet buffer [19] is in use: flushing cached data
ENCODER: (matroska) packet buffer [20] is in use: flushing cached data
ENCODER: (matroska) packet buffer [21] is in use: flushing cached data
ENCODER: (matroska) packet buffer [22] is in use: flushing cached data
ENCODER: (matroska) packet buffer [23] is in use: flushing cached data
ENCODER: (matroska) packet buffer [24] is in use: flushing cached data
ENCODER: (matroska) packet buffer [25] is in use: flushing cached data
ENCODER: (matroska) packet buffer [26] is in use: flushing cached data
ENCODER: (matroska) packet buffer [27] is in use: flushing cached data
ENCODER: (matroska) packet buffer [28] is in use: flushing cached data
ENCODER: (matroska) packet buffer [29] is in use: flushing cached data
ENCODER: (matroska) packet buffer [30] is in use: flushing cached data
ENCODER: (matroska) packet buffer [31] is in use: flushing cached data
ENCODER: (matroska) packet buffer [32] is in use: flushing cached data
ENCODER: (matroska) packet buffer [33] is in use: flushing cached data
ENCODER: (matroska) packet buffer [34] is in use: flushing cached data
ENCODER: (matroska) packet buffer [35] is in use: flushing cached data
ENCODER: (matroska) packet buffer [36] is in use: flushing cached data
ENCODER: (matroska) packet buffer [37] is in use: flushing cached data
ENCODER: (matroska) packet buffer [38] is in use: flushing cached data
ENCODER: (matroska) packet buffer [39] is in use: flushing cached data
ENCODER: (matroska) packet buffer [40] is in use: flushing cached data
ENCODER: (matroska) packet buffer [41] is in use: flushing cached data
ENCODER: (matroska) packet buffer [42] is in use: flushing cached data
ENCODER: (matroska) packet buffer [43] is in use: flushing cached data
ENCODER: (matroska) packet buffer [44] is in use: flushing cached data
ENCODER: (matroska) packet buffer [45] is in use: flushing cached data
ENCODER: (matroska) packet buffer [46] is in use: flushing cached data
ENCODER: (matroska) packet buffer [47] is in use: flushing cached data
ENCODER: (matroska) packet buffer [48] is in use: flushing cached data
ENCODER: (matroska) packet buffer [49] is in use: flushing cached data
ENCODER: (matroska) packet buffer [50] is in use: flushing cached data
ENCODER: (matroska) packet buffer [51] is in use: flushing cached data
ENCODER: (matroska) packet buffer [52] is in use: flushing cached data
ENCODER: (matroska) packet buffer [53] is in use: flushing cached data
ENCODER: (matroska) packet buffer [54] is in use: flushing cached data
ENCODER: (matroska) packet buffer [55] is in use: flushing cached data
ENCODER: (matroska) packet buffer [56] is in use: flushing cached data
ENCODER: (matroska) packet buffer [57] is in use: flushing cached data
ENCODER: (matroska) packet buffer [58] is in use: flushing cached data
ENCODER: (matroska) packet buffer [59] is in use: flushing cached data
ENCODER: Maximum of 50 delayed video frames reached...

(guvcview:2120): Gdk-CRITICAL **: gdk_device_get_n_axes: assertion 'gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD' failed
ENCODER: (matroska) packet buffer [60] is in use: flushing cached data
ENCODER: (matroska) packet buffer [61] is in use: flushing cached data
ENCODER: (matroska) packet buffer [62] is in use: flushing cached data
ENCODER: (matroska) packet buffer [63] is in use: flushing cached data
ENCODER: (matroska) closing context
ENCODER: (matroska) closing cluster
ENCODER: (matroska)writing cues
ENCODER: (matroska)add seekhead
ENCODER: (matroska) add seekhead entry 2 (max 10)
ENCODER: (matroska)write seekhead
ENCODER: (matroska) end duration = 3479 (3479.000000)

I think something that I updated over the weekend broke guvcview :-/

Any guidance is appreciated. I'll continue digging in the mean time.

EDIT

`libmatroska` was updated Friday afternoon (after I recorded my morning video chat). Here's the package info for the version I have:

rdahlgren@athas:~ $ pacman -Qi libmatroska
Name            : libmatroska
Version         : 1.4.4-1
Description     : Matroska library
Architecture    : x86_64
URL             : http://dl.matroska.org/downloads/libmatroska/
Licenses        : LGPL
Groups          : None
Provides        : libmatroska.so=6-64
Depends On      : libebml.so=4-64
Optional Deps   : None
Required By     : vlc
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 792.00 KiB
Packager        : Maxime Gauduin <alucryd@archlinux.org>
Build Date      : Sat 09 Jan 2016 01:29:46 PM EST
Install Date    : Fri 29 Jan 2016 01:39:22 PM EST
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

Last edited by rdahlgren (2016-02-02 16:50:53)

Offline

#2 2016-02-02 16:50:16

rdahlgren
Member
From: Middle States, USA
Registered: 2014-02-17
Posts: 36
Website

Re: [SOLVED] guvcview no longer records video

Changing the guvcview output file format from mkv to avi does not fix the issue.

I changed the video codec from 'MPEG4-ASP' to 'MPEG4-AVC (H264)' and video recording is functioning properly again. I don't think this solves the issue so much as it mitigates it. I'll do some more digging later about that video codec and see what could have broken it.

Offline

Board footer

Powered by FluxBB