
Recherche avancée
Médias (2)
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (85)
-
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...) -
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (11108)
-
Using FFmpeg in .net ?
15 juillet 2016, par danielSo I know its a fairly big challenge but I want to write a basic movie player/converter in c# using the FFmpeg library. However, the first obstacle I need to overcome is wrapping the FFmpeg library in c#. I’ve downloaded ffmpeg but couldn’t compile it on Windows, so I downloaded a precompiled version for me. Ok awesome. Then I started looking for C# wrappers.
I have looked around and have found a few wrappers such as SharpFFmpeg (http://sourceforge.net/projects/sharpffmpeg/) and ffmpeg-sharp (http://code.google.com/p/ffmpeg-sharp/). First of all, I wanted to use ffmpeg-sharp as its LGPL and SharpFFmpeg is GPL. However, it had quite a few compile errors. Turns out it was written for the mono compiler, I tried compiling it with mono but couldn’t figure out how. I then started to manually fix the compiler errors myself, but came across a few scary ones and thought I’d better leave those alone. So I gave up on ffmpeg-sharp.
Then I looked at SharpFFmpeg and it looks like what I want, all the functions P/Invoked for me. However its GPL ? Both the AVCodec.cs and AVFormat.cs files look like ports of avcodec.c and avformat.c which I reckon I could port myself ? Then not have to worry about licencing.
But I want to get this right before I go ahead and start coding. Should I :
- Write my own C++ library for interacting with ffmpeg, then have my C# program talk to the C++ library in order to play/convert videos etc.
OR
- Port avcodec.h and avformat.h (is that all i need ?) to c# by using a whole lot of DllImports and write it entirely in C# ?
First of all consider that I’m not great at C++ as I rarely use it but I know enough to get around. The reason I’m thinking #1 might be the better option is that most FFmpeg tutorials are in C++ and I’d also have more control over memory management than if I was to do it in c#.
What do you think ?
Also would you happen to have any useful links (perhaps a tutorial) for using FFmpeg ? -
Encode uncompressed avi from webcam
17 août 2013, par shaunI have to record videos for a project I'm doing. Two of these are USB cameras and another is a n IP overhead camera.All three are connected to a laptop computer. After recording the videos I need to be able to open them in an editor (not for editing particularly but for modeling stuff in them for which I need a timeline). I have chosen Sony Vegas Pro for my editor. I have been able to record the uncompressed avi using gstreamer with this command :
gst-launch v4l2src device=/dev/video0 ! 'video/x-rawyuv,width=640,height=480,framerate=10/1' ! mux. avimux name=mux ! filesink location=temp.avi
I had to set the framerate to 10 because I was using two USB cameras and a framerate of 30 on both could not be accomodated in the bandwidth of the USB controller. I do not care about audio in my file so I don't grab audio. Similary, while encoding I wouldn't care about audio as well. This is raw uncompressed avi. I was not able to open this in Sony Vegas Pro. I believe I need to encode this uncompressed avi using a codec that will be opened by Sony Vegas Pro (I don't know which codecs Sony likes, so I'll probably try different ones until one of them opens).
For encoding this video, I have several options : mencoder, ffmpeg, gstreamer. But I am not able to figure out how to use these tools to get what I want. Ideally, I would like just to sort of "insert" a codec with other settings remaining the same. I don't really care about the how much space the resulting video takes since the length of the videos are not going to be more than 3 minutes and I have space available, so lossless codecs also work. I believe Sony reads mpeg avi's so if I can get that, it'll be great.
Thanks for reading and I appreciate all the help.
-
Thread safety of FFmpeg when using av_lockmgr_register
12 août 2013, par StocasticoMy application uses FFmpeg to read video streams. So far, I ensured thread safety by defining my own global lock and looking for all the methods inside FFmpeg libraries which are not thread safe.
This makes the code a bit messy, so while looking for better ideas I found this answer, but apparently I couldn't make use of the suggestions.
I tried testing it in my own environment, but I always get critical heap error. Here's the test codeclass TestReader
{
public:
TestReader( std::string sVid )
{
m_sVid = sVid;
m_cVidPtr.reset( new VideoReader() );
}
~TestReader()
{}
void operator() ()
{
readVideoThread();
}
private:
int readVideoThread()
{
m_cVidPtr->init( m_sVid.c_str() );
MPEGFrame::pointer cFramePtr;
for ( int i=0; i< 500; i++ )
{
cFramePtr = m_cVidPtr->getNextFrame();
}
return 0;
}
boost::shared_ptr<videoreader> m_cVidPtr;
std::string m_sVid;
};
/*****************************************************************************/
int lockMgrCallback(void** cMutex, enum AVLockOp op)
{
if (nullptr == cMutex)
return -1;
switch(op)
{
case AV_LOCK_CREATE:
{
*cMutex = nullptr;
boost::mutex* m = new boost::mutex();
*cMutex = static_cast(m);
break;
}
case AV_LOCK_OBTAIN:
{
boost::mutex* m = static_cast(*cMutex);
m->lock();
break;
}
case AV_LOCK_RELEASE:
{
boost::mutex * m = static_cast(*cMutex);
m->unlock();
break;
}
case AV_LOCK_DESTROY:
{
boost::mutex * m = static_cast(*cMutex);
delete m;
break;
}
default:
break;
}
return 0;
}
int testFFmpegMultiThread( std::string sVideo )
{
if ( ::av_lockmgr_register( &lockMgrCallback ) )
{
std::cout << "Could not initialize lock manager!" << std::endl;
return -1;
}
TestReader c1(sVideo);
TestReader c2(sVideo);
boost::thread t1( c1 );
boost::thread t2( c2 );
t1.join();
t2.join();
return 0;
}
</videoreader>The classes VideoReader and MPEGFrame are just wrappers and have always worked perfectly in single threaded scenarios, or in multi-threaded scenario managed using my own global lock.
Am I missing something obvious ? Can anybody point me to some working code ? Thanks in advance