
Recherche avancée
Médias (91)
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#1 The Wires
11 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (70)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (9304)
-
ffmpeg/libx264 C API : frames dropped from end of short MP4
19 juillet 2017, par Blake McConnellIn my C++ application, I am taking a series of JPEG images, manipulating their data using FreeImage, and then encoding the bitmaps as H264 using the ffmpeg/libx264 C API. The output is an MP4 which shows the series of 22 images at 12fps. My code is adapted from the "muxing" example that comes with ffmpeg C source code.
My problem : no matter how I tune the codec parameters, a certain number of frames at the end of the sequence which are passed to the encoder do not appear in the final output. I’ve set the AVCodecContext parameters like this :
//set context params
ctx->codec_id = AV_CODEC_ID_H264;
ctx->bit_rate = 4000 * 1000;
ctx->width = _width;
ctx->height = _height;
ost->st->time_base = AVRational{ 1, 12 };
ctx->time_base = ost->st->time_base;
ctx->gop_size = 1;
ctx->pix_fmt = AV_PIX_FMT_YUV420P;I have found that the higher the
gop_size
the more frames are dropped from the end of the video. I can also see from the output that, with this gop size (where I’m essentially directing that all output frames be I frames) that only 9 frames are written.I’m not sure why this is occurring. I experimented with encoding duplicate frames and making a much longer video. This resulted in no frames being dropped. I know with the ffmpeg command line tool there is a concatenation command that accomplishes what I am trying to do, but I’m not sure how to accomplish the same goal using the C API.
Here’s the output I’m getting from the console :
[libx264 @ 026d81c0] using cpu capabilities : MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 026d81c0] profile High, level
3.1 [libx264 @ 026d81c0] 264 - core 152 r2851 ba24899 - H.264/MPEG-4 AVC codec - Cop yleft 2003-2017 - http://www.videolan.org/x264.html -
options : cabac=1 ref=1 deb lock=1:0:0 analyse=0x3:0x113 me=hex subme=7
psy=1 psy_rd=1.00:0.00 mixed_ref=0 m e_range=16 chroma_me=1 trellis=1
8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chro ma_qp_offset=-2
threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0
keyint=1 ke yint_min=1 scenecut=40 intra_refresh=0 rc=abr mbtree=0
bitrate=4000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4
ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to
’....\images\c411a991-46f6-400c-8bb0-77af3738559a.mp4’ :
Stream #0:0 : Video : h264, yuv420p, 700x700, q=2-31, 4000 kb/s, 12 tbn[libx264 @ 026d81c0] frame I:9 Avg QP:17.83 size:111058 [libx264
@ 026d81c0] mb I I16..4 : 1.9% 47.7% 50.5% [libx264 @ 026d81c0] final
ratefactor : 19.14 [libx264 @ 026d81c0] 8x8 transform intra:47.7%
[libx264 @ 026d81c0] coded y,uvDC,uvAC intra : 98.4% 96.9% 89.5%
[libx264 @ 026d81c0] i16 v,h,dc,p : 64% 6% 2% 28% [libx264 @
026d81c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 32% 15% 9% 5% 5% 6% 8%
10% 10% [libx264 @ 026d81c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu : 28% 18%
7% 6% 8% 8% 8% 9% 8% [libx264 @ 026d81c0] i8c dc,h,v,p : 43% 22%
25% 10% [libx264 @ 026d81c0] kb/s:10661.53Code included below :
MP4Writer.h
#ifndef MPEG_WRITER
#define MPEG_WRITER
#include <iostream>
#include <string>
#include <vector>
#include
extern "C" {
#include <libavformat></libavformat>avformat.h>
#include <libswscale></libswscale>swscale.h>
#include <libswresample></libswresample>swresample.h>
#include <libswscale></libswscale>swscale.h>
}
typedef struct OutputStream
{
AVStream *st;
AVCodecContext *enc;
//pts of the next frame that will be generated
int64_t next_pts;
int samples_count;
AVFrame *frame;
AVFrame *tmp_frame;
float t, tincr, tincr2;
struct SwsContext *sws_ctx;
struct SwrContext *swr_ctx;
};
class MP4Writer {
public:
MP4Writer();
void Init();
int16_t SetOutput( const std::string & path );
int16_t AddFrame( uint8_t * imgData );
int16_t Write( std::vector<imgdata> & imgData );
int16_t Finalize();
void SetHeight( const int height ) { _height = _width = height; } //assuming 1:1 aspect ratio
private:
int16_t AddStream( OutputStream * ost, AVFormatContext * formatCtx, AVCodec ** codec, enum AVCodecID codecId );
int16_t OpenVideo( AVFormatContext * formatCtx, AVCodec *codec, OutputStream * ost, AVDictionary * optArg );
static AVFrame * AllocPicture( enum AVPixelFormat pixFmt, int width, int height );
static AVFrame * GetVideoFrame( uint8_t * imgData, OutputStream * ost, const int width, const int height );
static int WriteFrame( AVFormatContext * formatCtx, const AVRational * timeBase, AVStream * stream, AVPacket * packet );
int _width;
int _height;
OutputStream _ost;
AVFormatContext * _formatCtx;
AVDictionary * _dict;
};
#endif //MPEG_WRITER
</imgdata></vector></string></iostream>MP4Writer.cpp
#include
#include <algorithm>
MP4Writer::MP4Writer()
{
_width = 0;
_height = 0;
}
void MP4Writer::Init()
{
av_register_all();
}
/**
sets up output stream for the specified path.
note that the output format is deduced automatically from the file extension passed
@param path: output file path
@returns: -1 = output could not be deduced, -2 = invalid codec, -3 = error opening output file,
-4 = error writing header
*/
int16_t MP4Writer::SetOutput( const std::string & path )
{
int error;
AVCodec * codec;
AVOutputFormat * format;
_ost = OutputStream{}; //TODO reset state in a more focused way?
//allocate output media context
avformat_alloc_output_context2( &_formatCtx, NULL, NULL, path.c_str() );
if ( !_formatCtx ) {
std::cout << "could not deduce output format from file extension. aborting" << std::endl;
return -1;
}
//set format
format = _formatCtx->oformat;
if ( format->video_codec != AV_CODEC_ID_NONE ) {
AddStream( &_ost, _formatCtx, &codec, format->video_codec );
}
else {
std::cout << "there is no video codec set. aborting" << std::endl;
return -2;
}
OpenVideo( _formatCtx, codec, &_ost, _dict );
av_dump_format( _formatCtx, 0, path.c_str(), 1 );
//open output file
if ( !( format->flags & AVFMT_NOFILE )) {
error = avio_open( &_formatCtx->pb, path.c_str(), AVIO_FLAG_WRITE );
if ( error < 0 ) {
std::cout << "there was an error opening output file " << path << ". aborting" << std::endl;
return -3;
}
}
//write header
error = avformat_write_header( _formatCtx, &_dict );
if ( error < 0 ) {
std::cout << "an error occurred writing header. aborting" << std::endl;
return -4;
}
return 0;
}
/**
initialize the output stream
@param ost: the output stream
@param formatCtx: the context format
@param codec: the output codec
@param codec: the ffmpeg enumerated id of the codec
@returns: -1 = encoder not found, -2 = stream could not be allocated, -3 = encoding context could not be allocated
*/
int16_t MP4Writer::AddStream( OutputStream * ost, AVFormatContext * formatCtx, AVCodec ** codec, enum AVCodecID codecId )
{
AVCodecContext * ctx; //TODO not sure why this is here, could just set ost->enc directly
int i;
//detect the encoder
*codec = avcodec_find_encoder( codecId );
if ( (*codec) == NULL ) {
std::cout << "could not find encoder. aborting" << std::endl;
return -1;
}
//allocate stream
ost->st = avformat_new_stream( formatCtx, NULL );
if ( ost->st == NULL ) {
std::cout << "could not allocate stream. aborting" << std::endl;
return -2;
}
//allocate encoding context
ost->st->id = formatCtx->nb_streams - 1;
ctx = avcodec_alloc_context3( *codec );
if ( ctx == NULL ) {
std::cout << "could not allocate encoding context. aborting" << std::endl;
return -3;
}
ost->enc = ctx;
//set context params
ctx->codec_id = AV_CODEC_ID_H264;
ctx->bit_rate = 4000 * 1000;
ctx->width = _width;
ctx->height = _height;
ost->st->time_base = AVRational{ 1, 12 };
ctx->time_base = ost->st->time_base;
ctx->gop_size = 1;
ctx->pix_fmt = AV_PIX_FMT_YUV420P;
//if neccesary, set stream headers and formats separately
if ( formatCtx->oformat->flags & AVFMT_GLOBALHEADER ) {
std::cout << "setting stream and headers to be separate" << std::endl;
ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
}
return 0;
}
/**
open the video for writing
@param formatCtx: the format context
@param codec: output codec
@param ost: output stream
@param optArg: dictionary
@return: -1 = error opening codec, -2 = allocate new frame, -3 = copy stream params
*/
int16_t MP4Writer::OpenVideo( AVFormatContext * formatCtx, AVCodec *codec, OutputStream * ost, AVDictionary * optArg )
{
int error;
AVCodecContext * ctx = ost->enc;
AVDictionary * dict = NULL;
av_dict_copy( &dict, optArg, 0 );
//open codec
error = avcodec_open2( ctx, codec, &dict );
av_dict_free( &dict );
if ( error < 0 ) {
std::cout << "there was an error opening the codec. aborting" << std::endl;
return -1;
}
//allocate new frame
ost->frame = AllocPicture( ctx->pix_fmt, ctx->width, ctx->height );
if ( ost->frame == NULL ) {
std::cout << "there was an error allocating a new frame. aborting" << std::endl;
return -2;
}
//copy steam params
error = avcodec_parameters_from_context( ost->st->codecpar, ctx );
if ( error < 0 ) {
std::cout << "could not copy stream parameters. aborting" << std::endl;
return -3;
}
return 0;
}
/**
allocate a new frame
@param pixFmt: ffmpeg enumerated pixel format
@param width: output width
@param height: output height
@returns: an inititalized frame
*/
AVFrame * MP4Writer::AllocPicture( enum AVPixelFormat pixFmt, int width, int height )
{
AVFrame * picture;
int error;
//allocate the frame
picture = av_frame_alloc();
if ( picture == NULL ) {
std::cout << "there was an error allocating the picture" << std::endl;
return NULL;
}
picture->format = pixFmt;
picture->width = width;
picture->height = height;
//allocate the frame's data buffer
error = av_frame_get_buffer( picture, 32 );
if ( error < 0 ) {
std::cout << "could not allocate frame data" << std::endl;
return NULL;
}
picture->pts = 0;
return picture;
}
/**
convert raw RGB buffer to YUV frame
@return: frame that contains image data
*/
AVFrame * MP4Writer::GetVideoFrame( uint8_t * imgData, OutputStream * ost, const int width, const int height )
{
int error;
AVCodecContext * ctx = ost->enc;
//prepare the frame
error = av_frame_make_writable( ost->frame );
if ( error < 0 ) {
std::cout << "could not make frame writeable" << std::endl;
return NULL;
}
//TODO set this context one time per run, or even better, one time at init
//convert RGB to YUV
struct SwsContext* fooContext = sws_getContext( width, height, AV_PIX_FMT_BGR24,
width, height, AV_PIX_FMT_YUV420P, SWS_BICUBIC, NULL, NULL, NULL );
int inLinesize[1] = { 3 * width }; // RGB stride
uint8_t * inData[1] = { imgData };
int sliceHeight = sws_scale( fooContext, inData, inLinesize, 0, height, ost->frame->data, ost->frame->linesize );
sws_freeContext( fooContext );
ost->frame->pts = ost->next_pts++;
//TODO does the frame need to be returned here as it is available at the class level?
return ost->frame;
}
/**
write frame to file
@param formatCtx: the output format context
@param timeBase: the framerate
@param stream: output stream
@param packet: data packet
@returns: see return values for av_interleaved_write_frame
*/
int MP4Writer::WriteFrame( AVFormatContext * formatCtx, const AVRational * timeBase, AVStream * stream, AVPacket * packet )
{
av_packet_rescale_ts( packet, *timeBase, stream->time_base );
packet->stream_index = stream->index;
//write compressed file to media file
return av_interleaved_write_frame( formatCtx, packet );
}
int16_t MP4Writer::Write( std::vector<imgdata> & imgData )
{
int16_t errorCount = 0;
int16_t retVal = 0;
bool countingUp = true;
size_t i = 0;
while ( true ) {
//don't show first frame again when counting back down
if ( !countingUp && i == 0 ) {
break;
}
uint8_t * pixels = imgData[i].GetBits( imgData[i].mp4Input );
AddFrame( pixels );
//handle inc/dec without repeating last frame
if ( countingUp ) {
if ( i == imgData.size() -1 ) {
countingUp = false;
i--;
}
else {
i++;
}
}
else {
i--;
}
}
Finalize();
return 0; //TODO return error code
}
/**
add another frame to output video
@param imgData: the raw image data
@returns -1 = error encoding video frame, -2 = error writing frame
*/
int16_t MP4Writer::AddFrame( uint8_t * imgData )
{
int error;
AVCodecContext * ctx;
AVFrame * frame;
int gotPacket = 0;
AVPacket pkt = { 0 };
ctx = _ost.enc;
av_init_packet( &pkt );
frame = GetVideoFrame( imgData, &_ost, _width, _height );
//encode the image
error = avcodec_encode_video2( ctx, &pkt, frame, &gotPacket );
if ( error < 0 ) {
std::cout << "there was an error encoding the video frame" << std::endl;
return -1;
}
//write the frame. NOTE: this doesn't kick in until the encoder has received a certain number of frames
if ( gotPacket ) {
error = WriteFrame( _formatCtx, &ctx->time_base, _ost.st, &pkt );
if ( error < 0 ) {
std::cout << "the video frame could not be written" << std::endl;
return -2;
}
}
return 0;
}
/**
finalize output video and cleanup
*/
int16_t MP4Writer::Finalize()
{
av_write_trailer( _formatCtx );
avcodec_free_context( &_ost.enc );
av_frame_free( &_ost.frame);
av_frame_free( &_ost.tmp_frame );
avio_closep( &_formatCtx->pb );
avformat_free_context( _formatCtx );
sws_freeContext( _ost.sws_ctx );
swr_free( &_ost.swr_ctx);
return 0;
}
</imgdata></algorithm>usage
#include
#include
#include <vector>
struct ImgData
{
unsigned int width;
unsigned int height;
std::string path;
FIBITMAP * mp4Input;
uint8_t * GetBits( FIBITMAP * bmp ) { return FreeImage_GetBits( bmp ); }
};
int main()
{
std::vector<imgdata> imgDataVec;
//load images and push to imgDataVec
MP4Writer mp4Writer;
mp4Writer.SetHeight( 1200 ); //assumes 1:1 aspect ratio
mp4Writer.Init();
mp4Writer.SetOutput( "test.mp4" );
mp4Writer.Write( imgDataVec );
}
</imgdata></vector> -
Why X.Org's X Server has stopped working on Google Colab ?
20 février 2021, par RahulI am Using X server for the virtual screen on Google Colab and capturing that screen with ffmpeg to record it and live stream it to twitch. (for the reinforcement learning project)




The above process was completely working till my last use of my Colab notebook (on mid-January 2021), but now (on 19th February 2021) I am using the same notebook and the streaming code has stopped working.




I am adding config and log file data below. (I have never seen these files before because it was working, now it's not so I don't have any idea what wrong)


The config file stored at
/etc/X11/xorg.conf
have the following data :

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 418.67

Section "ServerLayout"
 Identifier "Layout0"
 Screen 0 "Screen0"
 InputDevice "Keyboard0" "CoreKeyboard"
 InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
 # generated from default
 Identifier "Mouse0"
 Driver "mouse"
 Option "Protocol" "auto"
 Option "Device" "/dev/mouse"
 Option "Emulate3Buttons" "no"
 Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
 # generated from default
 Identifier "Keyboard0"
 Driver "kbd"
EndSection

Section "Monitor"
 Identifier "Monitor0"
 VendorName "Unknown"
 ModelName "Unknown"
 HorizSync 28.0 - 33.0
 VertRefresh 43.0 - 72.0
 Option "DPMS"
EndSection

Section "Device"
 Identifier "Device0"
 Driver "nvidia"
 VendorName "NVIDIA Corporation"
 BoardName "Tesla T4"
 BusID "PCI:0:4:0"
 MatchSeat "seat-1"
EndSection

Section "Screen"
 Identifier "Screen0"
 Device "Device0"
 Monitor "Monitor0"
 DefaultDepth 24
 Option "AllowEmptyInitialConfiguration" "True"
 SubSection "Display"
 Virtual 1920 1080
 Depth 24
 EndSubSection
EndSection



The log file stored at
/var/log/Xorg.0.log
have the following data :

[ 464.605] 
X.Org X Server 1.19.6
Release Date: 2017-12-20
[ 464.605] X Protocol Version 11, Revision 0
[ 464.605] Build Operating System: Linux 4.15.0-124-generic x86_64 Ubuntu
[ 464.605] Current Operating System: Linux 9d3fe3949671 4.19.112+ #1 SMP Thu Jul 23 08:00:38 PDT 2020 x86_64
[ 464.605] Kernel command line: BOOT_IMAGE=/syslinux/vmlinuz.A init=/usr/lib/systemd/systemd boot=local rootwait ro noresume noswap loglevel=7 noinitrd console=ttyS0 security=apparmor virtio_net.napi_tx=1 systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false csm.disabled=1 dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 i915.modeset=1 cros_efi loadpin.enabled=0 root=/dev/dm-0 "dm=1 vroot none ro 1,0 4077568 verity payload=PARTUUID=555BDB75-CBD7-CD4A-B24E-29B13D7AC0DF hashtree=PARTUUID=555BDB75-CBD7-CD4A-B24E-29B13D7AC0DF hashstart=4077568 alg=sha256 root_hexdigest=42104d547ac104fb7061529e78f53e4f3e8c3d3cbb040dc6e0f84aad68491347 salt=9dc7f3acc4e2ce65be16356e960c2b21b51a917fa31d2e891fd295490c991e41" mitigations=off
[ 464.605] Build Date: 30 November 2020 08:01:56PM
[ 464.605] xorg-server 2:1.19.6-1ubuntu4.8 (For technical support please see http://www.ubuntu.com/support) 
[ 464.605] Current version of pixman: 0.34.0
[ 464.605] Before reporting problems, check http://wiki.x.org
 to make sure that you have the latest version.
[ 464.605] Markers: (--) probed, (**) from config file, (==) default setting,
 (++) from command line, (!!) notice, (II) informational,
 (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 464.605] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Feb 20 03:10:44 2021
[ 464.606] (==) Using config file: "/etc/X11/xorg.conf"
[ 464.606] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 464.607] (==) ServerLayout "Layout0"
[ 464.607] (**) |-->Screen "Screen0" (0)
[ 464.607] (**) | |-->Monitor "Monitor0"
[ 464.607] (**) | |-->Device "Device0"
[ 464.607] (**) |-->Input Device "Keyboard0"
[ 464.607] (**) |-->Input Device "Mouse0"
[ 464.607] (==) Automatically adding devices
[ 464.607] (==) Automatically enabling devices
[ 464.607] (==) Automatically adding GPU devices
[ 464.607] (==) Automatically binding GPU devices
[ 464.607] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 464.607] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 464.607] Entry deleted from font path.
[ 464.607] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 464.607] Entry deleted from font path.
[ 464.607] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 464.607] Entry deleted from font path.
[ 464.607] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 464.607] Entry deleted from font path.
[ 464.607] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 464.607] Entry deleted from font path.
[ 464.607] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 464.607] Entry deleted from font path.
[ 464.607] (==) FontPath set to:
 /usr/share/fonts/X11/misc,
 built-ins
[ 464.607] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 464.607] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 464.607] (WW) Disabling Keyboard0
[ 464.607] (WW) Disabling Mouse0
[ 464.607] (II) Loader magic: 0x556eb77b8020
[ 464.607] (II) Module ABI versions:
[ 464.607] X.Org ANSI C Emulation: 0.4
[ 464.607] X.Org Video Driver: 23.0
[ 464.607] X.Org XInput driver : 24.1
[ 464.607] X.Org Server Extension : 10.0
[ 464.607] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
[ 464.609] (--) PCI: (0:0:4:0) 10de:1eb8:10de:12a2 rev 161, Mem @ 0xc0000000/16777216, 0x380000000/268435456, 0x390000000/33554432
[ 464.609] (II) no primary bus or device found
[ 464.609] (II) LoadModule: "glx"
[ 464.609] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 464.610] (II) Module glx: vendor="X.Org Foundation"
[ 464.610] compiled for 1.19.6, module version = 1.0.0
[ 464.610] ABI class: X.Org Server Extension, version 10.0
[ 464.610] (II) LoadModule: "nvidia"
[ 464.610] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 464.610] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 464.610] compiled for 4.0.2, module version = 1.0.0
[ 464.610] Module class: X.Org Video Driver
[ 464.610] (II) NVIDIA dlloader X Driver 418.67 Sat Apr 6 02:51:17 CDT 2019
[ 464.610] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 464.610] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
[ 464.610] (II) Loading sub module "fb"
[ 464.610] (II) LoadModule: "fb"
[ 464.611] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 464.611] (II) Module fb: vendor="X.Org Foundation"
[ 464.611] compiled for 1.19.6, module version = 1.0.0
[ 464.611] ABI class: X.Org ANSI C Emulation, version 0.4
[ 464.611] (II) Loading sub module "wfb"
[ 464.611] (II) LoadModule: "wfb"
[ 464.611] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 464.611] (II) Module wfb: vendor="X.Org Foundation"
[ 464.611] compiled for 1.19.6, module version = 1.0.0
[ 464.611] ABI class: X.Org ANSI C Emulation, version 0.4
[ 464.611] (II) Loading sub module "ramdac"
[ 464.611] (II) LoadModule: "ramdac"
[ 464.611] (II) Module "ramdac" already built-in
[ 464.637] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[ 464.637] (EE) NVIDIA: system's kernel log for additional error messages and
[ 464.637] (EE) NVIDIA: consult the NVIDIA README for details.
[ 464.662] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[ 464.662] (EE) NVIDIA: system's kernel log for additional error messages and
[ 464.662] (EE) NVIDIA: consult the NVIDIA README for details.
[ 464.662] (EE) No devices detected.
[ 464.662] (==) Matched modesetting as autoconfigured driver 0
[ 464.662] (==) Matched fbdev as autoconfigured driver 1
[ 464.662] (==) Matched vesa as autoconfigured driver 2
[ 464.662] (==) Assigned the driver to the xf86ConfigLayout
[ 464.662] (II) LoadModule: "modesetting"
[ 464.662] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 464.663] (II) Module modesetting: vendor="X.Org Foundation"
[ 464.663] compiled for 1.19.6, module version = 1.19.6
[ 464.663] Module class: X.Org Video Driver
[ 464.663] ABI class: X.Org Video Driver, version 23.0
[ 464.663] (II) LoadModule: "fbdev"
[ 464.663] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 464.663] (II) Module fbdev: vendor="X.Org Foundation"
[ 464.663] compiled for 1.19.3, module version = 0.4.4
[ 464.663] Module class: X.Org Video Driver
[ 464.663] ABI class: X.Org Video Driver, version 23.0
[ 464.663] (II) LoadModule: "vesa"
[ 464.663] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 464.663] (II) Module vesa: vendor="X.Org Foundation"
[ 464.663] compiled for 1.19.3, module version = 2.3.4
[ 464.663] Module class: X.Org Video Driver
[ 464.663] ABI class: X.Org Video Driver, version 23.0
[ 464.663] (II) NVIDIA dlloader X Driver 418.67 Sat Apr 6 02:51:17 CDT 2019
[ 464.663] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 464.663] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 464.663] (II) FBDEV: driver for framebuffer: fbdev
[ 464.663] (II) VESA: driver for VESA chipsets: vesa
[ 464.663] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
[ 464.663] (EE) open /dev/dri/card0: No such file or directory
[ 464.663] (WW) Falling back to old probe method for modesetting
[ 464.663] (EE) open /dev/dri/card0: No such file or directory
[ 464.663] (WW) Falling back to old probe method for fbdev
[ 464.663] (II) Loading sub module "fbdevhw"
[ 464.663] (II) LoadModule: "fbdevhw"
[ 464.663] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 464.663] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 464.663] compiled for 1.19.6, module version = 0.0.2
[ 464.663] ABI class: X.Org Video Driver, version 23.0
[ 464.664] (EE) open /dev/fb0: No such file or directory
[ 464.664] (WW) Falling back to old probe method for vesa
[ 464.664] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 464.664] (EE) Screen 0 deleted because of no matching config section.
[ 464.664] (II) UnloadModule: "modesetting"
[ 464.664] (EE) Device(s) detected, but none match those in the config file.
[ 464.664] (EE) 
Fatal server error:
[ 464.664] (EE) no screens found(EE) 
[ 464.664] (EE) 
Please consult the The X.Org Foundation support 
 at http://wiki.x.org
 for help. 
[ 464.664] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 464.664] (EE) 
[ 464.664] (EE) Server terminated with error (1). Closing log file.




I am using this github repo to setup the video-streamer


If anyone wants the colab notebook for the example then I will add it over here.


For this problem I am really not sure where to file an issue for this so that's why I am writing this here.


-
Introducing the Data Warehouse Connector feature
30 janvier, par Matomo Core Team