Recorded videos show a frozen frame

Bug #1558060 reported by Alberto Salvia Novella
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
guvcview
Confirmed
Undecided
auto-pj.assis
guvcview (Ubuntu)
Triaged
Medium
Unassigned
Nominated for Wily by Alberto Salvia Novella
Nominated for Xenial by Alberto Salvia Novella

Bug Description

HOW TO REPRODUCE:
1. Using Guvcview, record a video.
2. Have a look at the video.

RESULT:
- The video only shows a frozen frame, where the audio works fine (https://bugs.launchpad.net/ubuntu/+source/guvcview/+bug/1558060/+attachment/4601103/+files/Sample.webm).

RELEVANT DETAILS:
- It also happen using guvcview 2.0.4+ubuntu2~ppa1+1363-0ubuntu0~201603102233~ubuntu16.04.1, from (https://launchpad.net/~pj-assis/+archive/ubuntu/testing).

ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: guvcview 2.0.2+debian-1
ProcVersionSignature: Ubuntu 4.2.0-34.39-generic 4.2.8-ckt4
Uname: Linux 4.2.0-34-generic x86_64
ApportVersion: 2.19.1-0ubuntu5
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Mar 16 13:38:18 2016
InstallationDate: Installed on 2015-11-14 (123 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
SourcePackage: guvcview
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :
description: updated
Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :
description: updated
Changed in guvcview (Ubuntu):
importance: Undecided → Medium
Changed in guvcview:
status: New → Confirmed
Changed in guvcview (Ubuntu):
status: New → Triaged
Revision history for this message
Paulo Assis (pj-assis) wrote :

Hi,
There is something strange about this sample file.
Checking it with mkvinfo I get the following:

+ Cabeçalho EBML
|+ Tipo de documento: webm
|+ Versão do tipo de documento: 2
|+ Doc type read version: 2
+ Segment, size 160099
|+ Seek head (subentries will be skipped)
|+ Informação do segmento
| + Escala do código de tempo: 1000000
| + Duração: 9.936s (00:00:09.936)
| + Muxing application: GStreamer matroskamux version 1.6.3
| + Writing application: GStreamer Matroska muxer
| + Data: Wed Mar 16 12:45:27 2016 GMT
|+ Pistas do segmento
| + Uma pista
| + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
| + Tipo de pista: audio
| + Track UID: 4966632641941336718
| + Idioma: eng
| + Nome: Audio
| + Audio track
| + Sampling frequency: 48000
| + Canais: 2
| + ID do Codec: A_VORBIS
| + CodecPrivate, length 3979
| + Uma pista
| + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
| + Tipo de pista: video
| + Track UID: 6079372755166281868
| + Nome: Video
| + Pista de vídeo
| + Pixel width: 640
| + Pixel height: 480
| + ID do Codec: V_VP9
|+ Cluster

while with a testing video generated by guvcview in my system (15.10) I get:

 $ mkvinfo my_video-1.webm
+ EBML head
|+ EBML version: 1
|+ EBML read version: 1
|+ EBML maximum ID length: 4
|+ EBML maximum size length: 8
|+ Doc type: webm
|+ Doc type version: 2
|+ Doc type read version: 2
+ Segment, size 105668
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 163)
|+ Informação do segmento
| + Escala do código de tempo: 1000000
| + Muxing application: Guvcview Muxer-2014.04
| + Writing application: Guvcview
| + UID do segmento: 0xa1 0x89 0xf7 0xff 0x15 0x3b 0xda 0x94 0xfb 0xd1 0x2c 0xa4 0x92 0xe2 0x3d 0xf9
| + Duration: 9.900s (00:00:09.900)
|+ Pistas do segmento
| + A track
| + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
| + Track UID: 1
| + Lacing flag: 0
| + Default flag: 1
| + Codec ID: V_VP8
| + Tipo de pista: video
| + Pista de vídeo
| + Pixel width: 640
| + Pixel height: 360
| + Display width: 640
| + Display height: 360
| + Display unit: 3 (aspect ratio)
| + Default duration: 40.000ms (25.000 frames/fields per second for a video track)
| + A track
| + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
| + Track UID: 2
| + Lacing flag: 0
| + Default flag: 1
| + Codec ID: A_VORBIS
| + Tipo de pista: audio
| + Audio track
| + Canais: 2
| + Sampling frequency: 44100
| + Bit depth: 16
| + CodecPrivate, length 3884
| + EbmlVoid (size: 191)
|+ Cluster

So the following lines:
| + Muxing application: GStreamer matroskamux version 1.6.3
| + Writing application: GStreamer Matroska muxer

instead of
| + Muxing application: Guvcview Muxer-2014.04
| + Writing application: Guvcview

Tell me that the file was not generated with guvcview. Not only guvcview has never used gstreamer, but the above strings have been hardcoded to guvcview code.
Also, see the video codec difference, the sample file is using V_VP9 while guvcview uses V_VP8.

Regards,
Paulo

Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

The original file was in the Matroska format. This is just a conversion using the Transmageddon video transcoder, so the video can be seen directly into the web browser.

Revision history for this message
Paulo Assis (pj-assis) wrote :

Well I still need the original file, otherwise I can't check what's wrong with it.
I've tested this in 15.10 and the generated files were playable without issues.
It could be related to the video codec, but I really need to check the file, to make sure.

Regards,
Paulo

Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :
Revision history for this message
Paulo Assis (pj-assis) wrote :

For some reason only one video frame was stored in the file.
Everything else seems ok.
I've tested this with the exact same parameters and couldn't reproduce the issue, video frames were written as expected.
Can you provide the console output of 'guvcview --verbosity=2' ? If video files are not flush to file, then I would expect to see the video buffer filling up and guvcview should report this.

Revision history for this message
Paulo Assis (pj-assis) wrote :

Correction: The above comment should read "If video FRAMES are not flush to file,..."

It seems I'm still half a sleep ;D

Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

Hahaha! 😄

Revision history for this message
Paulo Assis (pj-assis) wrote :

Ok, so this problem comes from a change in the newest ffmpeg (libavcodec) API, the default 15.10 version should work fine with the stable guvcview version. But if you upgrade libavcodec (via ppa or by building the source code) you need to rebuild guvcview (using the latest git code).

The upcoming 16.04 already has the new ffmpeg version so the binary builds of guvcview in my testing ppa for 16.04 should work fine:
https://code.launchpad.net/~pj-assis/+archive/ubuntu/testing/+build/9379822

For 15.10 the builds are against the default 15.10 ffmpeg version so they will only work with that, if you wish to use a new version, you really need to build the latest git.

Regards,
Paulo

Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

The libavcodec-ffmpeg56 package that I am using is version 7:2.7.6-0ubuntu0.15.10.1, which is the one provided in the wily-updates official repository.

Revision history for this message
Paulo Assis (pj-assis) wrote :

Humm, Like I said I could only replicate the problem with 16.04.
In any case, while fixing guvcview for 16.04 I squashed a couple of bugs that could, at least in one case and under certain conditions, cause mpeg4 encoding to fail.
This is fixed in the latest build from my testing ppa:
https://launchpad.net/~pj-assis/+archive/ubuntu/testing/+sourcepub/6224953/+listing-archive-extra

So you could try that and see if it also fixes things for you.

Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

Yes, it does. Thank you 👏

Revision history for this message
Lauren Weinstein (lauren4321) wrote :

Same (frozen image) problem here on 16.04 -- fixed by your latest build. Thanks!

Revision history for this message
Thomas (iiidefconiii) wrote :

for me :

sudo add-apt-repository ppa:pj-assis/ubuntu/testing
apt-get update
apt-get install guvcview

did the trick

tags: added: xenial
Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

Better to use the stable branch:

sudo add-apt-repository ppa:pj-assis/ppa; sudo apt update; sudo apt upgrade -y; sudo apt install guvcview -y

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

  • auto-pj.assis Edit

Bug watches keep track of this bug in other bug trackers.