
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (52)
-
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10081)
-
ffmpeg problems using avcodec_close
27 juin 2013, par digitalPhonixHow is avcodec_close supposed to be called in ffmpeg ?
This is the simplest code which reproduces my problem :
bool CDataSequenceFormat::openVideoCodec( AVStream* videoStream )
{
AVCodecContext* codecContext = videoStream->codec;
AVCodec* codec = avcodec_find_encoder(codecContext->codec_id);
if (codec == NULL || avcodec_open2(codecContext, codec, NULL) < 0 || avcodec_is_open(codecContext)==0)
{
return false;
}
avcodec_close(codecContext);
return true;
}avcodec_open2
doesn't return an error andavcodec_is_open
returns 1, so I am assuming thecodecContext
has been set up properly. Am I wrong to assume this ?When I call
avcodec_close
immediately after, I get an access violation exception (writing to badf00d - but I thought avcodec_open2 handled the filling in of all the codec fields) somewhere in avcodec-54.dllPeople seem to be getting segmentation faults when trying to call
avcodec_close
on an un-opened codec, but I don't think that's the case here.Any ideas what I'm doing wrong ?
EDIT : I should have mentioned that I inherited this code which was using a fairly old version of ffmpeg and this problem only appeared when I updated to the latest ffmpeg tarball
-
Is 'Android+FFMpeg' friendship really available ?
26 janvier 2016, par vold_byThe question does not mean that I’m interested if ffmpeg code can be used on Andoid. I know that it can. I’m just asking if somebody has the real performance progress with that stuff.
I’ve created the question after several weeks of experiments with the stuff and I’ve had enough...
I do not want to write to branches where people even do not say what kind of video they decode (resolution, codec) and talk only about some mystical FPS. I just don’t understand what they want to do. Also I’m not going to develop application only for my phone or for Android 2.2++ phones that have some extended OpenGL features. I have quite popular phone HTC Desire so if the application does not work on it, so what’s next ?Well, what do I have ?
-
FFMpeg source from the latest HEAD branch. Actually I could not buld it with NDK5 so I decided to use stolen one.
-
Bambuser’s build script (bash) with appropriate ffmpeg source ([web] : http://bambuser.com/r/opensource/ffmpeg-4f7d2fe-android-2011-03-07.tar.gz).
It builds well after some corrections by using NDK5. -
Rockplayer’s gelded ffmpeg source code with huge Android.mk in the capacity of build script ([web] : http://www.rockplayer.com/download/rockplayer_ffmpeg_git_20100418.zip).
It builds by NDK3 and NDK5 after some corrections. Rockplayer is probably the most cool media player for Android and I supposed that I would have some perks using it’s build.
I had suitable video for a project (is not big and is not small) : 600x360 H.264.
Both libraries we got from clauses 2 and 3 provide us possibility to get frames from video (frame-by-frame, seek etc.). I did not try to get an audio track because I did not need one for the project. I’m not publishing my source here because I think that’s traditional and it’s easy to find.
Well, what’s the results with video ?
HTC Desire, Android 2.2
600x360, H.264
decoding and rendering are in different threads- Bambuser (NDK5 buld for armv5te, RGBA8888) : 33 ms/frame average.
- Rockplayer (NDK3 build for neon, RGB565) : 27 ms/frame average.
It’s not bad for the first look, but just think that these are results only to decode frames.
If somebody has much better results with decoding time, let me know.The most hard thing for a video is rendering. If we have bitmap 600x360 we should scale one somehow before painting because different phones have different screen sizes and we can not expect that our video will be the same size as screen.
What options do we have to rescale a frame to fit it to screen ?
I was able to check (the same phone and video source) those cases :- sws_scale() C function in Bambuser’s build : 70 ms/frame. Unacceptable.
- Stupid bitmap rescaling in Android (Bitmap.createScaledBitmap) : 65 ms/frame. Unacceptable.
- OpenGL rendering in ortho projection on textured quad. In this case I did not need to scale frame. I just needed to prepare texture 1024x512 (in my case it was RGBA8888) containig frame pixels and than load it in GPU (gl.glTexImage2D). Result : 220 ms/frame to render. Unacceptable. I did not expect that glTexImage2D just sucked on Snapdragon CPU.
That’s all.
I know that there is some way to use fragment shader to convert YUV pixels using GPU, but we will have the same glTexImage2D and 200 ms just to texture loading.But this is not the end. ...my only friend the end... :)
It’s not hopeless condition.Trying to use RockPlayer you definitely will wonder how they do that damn frame scaling so fast. I suppose that they have really good experience in ARM achitecture. They most probably use avcodec_decode_video2 and than img_convert (as I did in RP version), but then they use some tricks (depends of ARM version) for scaling.
Maybe they also have some "magic" buld configuration for ffmpeg decreasing decoding time but Android.mk that they published is not THE Android.mk they use. Dunno...So, now it looks like you can not just buld some easy JNI bridge for ffmpeg and than have real media player for Android platform. You can do this only if you have suitable video that you do not need to scale.
Any ideas ? I hope for you ;)
-
-
ffmpeg conversion for apple tv
24 janvier 2013, par SamI have one particular movie file that is giving me grief while I am trying to convert my movie library to be able to be viewed on my Apple TV. I have been using iFlicks to convert all of my files and have only had one issue. The original of this particular movie file plays fine but after it has been converted the video freezes after a few minutes but the audio keeps playing. I tried using ffmpeg to convert the file but now the file is very choppy. The first time it is played the video will be choppy, the next time the audio will be choppy... but it plays fine in VLC for some reason. So I was thinking that maybe I have chosen the wrong codecs to suit Quicktime/Apple TV. Below is the command I used for ffmpeg. Have I chosen the right codecs and actually written the command correctly ? (I haven't really used ffmpeg before...)
ffmpeg -i input.avi -vcodec libx264 -acodec libfaac output.m4v