
Recherche avancée
Autres articles (29)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)
Sur d’autres sites (4219)
-
ffmpeg 180 degree panoramic fisheye image to equirectangular / flat
7 juillet 2024, par Willy62I am trying to get my Hikvision Panovu image of a sportsfield to look like a standard camera image, similar to what would be seen with a Veo solution / traditional camera.


This is what the image would ideally look like with a little bit of zoom. Note the players are all upright and it looks "correct" and not skewed with the far end of the field in line with the horizon.




The original image looks like this (same field but other side). This is a 180 degree panoramic image from a Hikvision camera as found here.


It provides the following output natively.




I have had some luck converting the image with ffmpeg using the v360 filter. Note there is a downward tilt meaning I have to apply some yaw to correct it.


v360=input=fisheye:output=rectilinear:ih_fov=180:iv_fov=87.5:d_fov=87.5:pitch=20:yaw=5:w=3840:h=2160



And this gets the following output :




So the challenge here to make the original image flat/equirect but to address the skew such that :


- 

- the players are orientated "upright"
- the far sideline of the field looks like a straight line in line with the horizon
- the image quality is preserved as best as possible








With these cameras the image is 32MP so there is the opportunity to do an ePTZ into the area of interest.


I suspect v360 isnt the right choice here and it is some remap-style filter, or perhaps I am best going across to gstreamer or similar.


I tried an ffmpeg v360 filter and it partially works, but the players are still skewed because the top of the image is not wide enough. The issue can possibly be solved by correctly applying a couplex perspective filter, but I think this will only mask the issue and perspective requires a complex filter that hasn't worked for me so far.


-
Configure error for ffmpeg 6.1 when executing in bash 5.0.17
1er mars 2024, par user2715311I am trying to install ffmpeg 6.1 (https://ffmpeg.org/releases/ffmpeg-6.1.1.tar.xz), but when executing the configure script my bash version 5.0.17 removes the double quotes from the parameters containing the condition to select the version of the libraries being searched for to pass this parameter to pkg-config.


For example, when processing code


check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version



, the pkg-config call will look something like


pkg-config --exists libopenjp2 >= 2.1.0



As a result, configure execution stops with the following error.


ERROR: libopenjp2 >= 2.1.0 not found using pkg-config



As a hint, you may be prompted to set the path to the 2.1.0.pc file in PKG_CONFIG_PATH.


It is interesting that this is the case in other versions of bash, for example, this problem is not observed in version 5.1.16.


Does this mean that bash version 5.0.17 will actually not be able to work with configure to build most code sources, because such version selection conditions are used quite often when searching for the right libraries ?


Or perhaps I can influence this bash behaviour in some way ? Or, alternatively, have I misinterpreted the problem at all and the solution is in a completely different area ?


The problem was identified in the Linux Mint 20.1 distribution.


$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 20.1
Release: 20.1
Codename: ulyssa



First of all, I checked that if I call pkg-config correctly, it can find the right library on my system.


$ pkg-config --exists "libopenjp2 >= 2.1.0"
$ echo $?
0



or


$ pkg-config --cflags --libs "libopenjp2 >= 2.1.0"
-I/usr/include/openjpeg-2.3 -lopenjp2



Next, I examined the configure code associated with this problem and came to the conclusion I outlined above.


-
h264 ffmpeg : How to initialize ffmpeg to decode NALs created with x264
19 février 2024, par Raul CalvoI encoded some frames using x264, using
x264_encoder_encode()
and after that I createdAVPackets
using a function like this :

bool PacketizeNals( uint8_t* a_pNalBuffer, int a_nNalBufferSize, AVPacket* a_pPacket )
{
 if ( !a_pPacket )
return false;
 a_pPacket->data = a_pNalBuffer;
 a_pPacket->size = a_nNalBufferSize;
 a_pPacket->stream_index = 0;
 a_pPacket->flags = AV_PKT_FLAG_KEY;

 a_pPacket->pts = int64_t(0x8000000000000000);
 a_pPacket->dts = int64_t(0x8000000000000000);
}



I call this function like this :


x264_nal_t* nals;
int num_nals = encode_frame(pic, &nals);
for (int i = 0; i < num_nals; i++)
{
 AVPacket* pPacket = ( AVPacket* )av_malloc( sizeof( AVPacket ) );
 av_init_packet( pPacket );
 if ( PacketizeNals( nals[i].p_payload, nals[i].i_payload, pPacket ) )
 {
 packets.push_back( pPacket );
 }
}



Now what I want to do is to decode these
AVPackets
usingavcodec_decode_video2
. I think the problem is that I haven't properly initialized the decoder because to encode I used "ultrafast" profile and "zerolatency" tune (x264) and to decode I don't know how to specify these options to ffmpeg.

In some examples I have read people initialize the decoder using the file where the video is stored, but in this case I have the
AVPackets
directly.

What I'm doing to try to decode is :


avcodec_init(); 
avcodec_register_all(); 
AVCodec* pCodec; 
pCodec=avcodec_find_decoder(CODEC_ID_H264); 
AVCodecContext* pCodecContext; 
pCodecContext=avcodec_alloc_context(); 
avcodec_open(pCodecContext,pCodec); 
pCodecContext->width = 320;
pCodecContext->height = 200;
pCodecContext->extradata = NULL;
unsigned int nNumPackets = packets.size();
int frameFinished = 0;
for ( auto it = packets.begin(); it != packets.end(); it++ )
{
 AVFrame* pFrame;
 pFrame = avcodec_alloc_frame();
 AVPacket* pPacket = *it;
 int iReturn = avcodec_decode_video2( pCodecContext, pFrame, &frameFinished, pPacket );
}



But
iReturn
is always -1.

Can anyone help me ? Sorry if my knowledge in this area is low, I'm new.