
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (55)
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (7994)
-
Légendes et interfaces tactiles
8 juin 2013Le système de visualisation de légendes n’est pas optimisé du tout pour les systèmes tactiles (iOS / Android par exemple).
Cet exemple est intéressant : http://io9.com/heres-what-pangea-looks-like-mapped-with-modern-politi-509812695
Utiliser un bouton show / hide des légendes pour les afficher au lieu de ne se baser que sur le hover.
Être fluide au redimensionnement de la fenêtre.
-
How can you pass YUV frames from FFmpeg to OpenGL ES ?
24 mai 2012, par TheRockHas anybody tried to use FFmpeg to decode a video frame, then display it in OpenGL ES in iOS 5.0 ?
I tried to modify the GLCameraRipple example from Apple, but I always get a -6683 error from
CVOpenGLESTextureCacheCreateTextureFromImage()
.Here is my decode code :
...
convertCtx = sws_getContext(codecCtx->width, codecCtx->height, codecCtx->pix_fmt,
codecCtx->width, codecCtx->height, PIX_FMT_NV12,
SWS_FAST_BILINEAR, NULL, NULL, NULL);
srcFrame = avcodec_alloc_frame();
dstFrame = avcodec_alloc_frame();
width = codecCtx->width;
height = codecCtx->height;
outputBufLength = avpicture_get_size(PIX_FMT_NV12, width, height);
outputBuf = malloc(outputBufLength);
avpicture_fill((AVPicture *)dstFrame, outputBuf, PIX_FMT_NV12, width, height);
...
avcodec_decode_video2(codecCtx, srcFrame, &gotFrame, pkt);
...
sws_scale(convertCtx,
(const uint8_t**)srcFrame->data, srcFrame->linesize,
0, codecCtx->height,
dstFrame->data, dstFrame->linesize);Here is my code for display :
CVPixelBufferRef pixelBuffer;
CVPixelBufferCreateWithBytes(kCFAllocatorDefault, [videoDecoder width], [videoDecoder height],
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange,
dstFrame->data[0], dstFrame->linesize[0], 0, 0, 0,
&pixelBuffer);
...
CVReturn err;
int textureWidth = CVPixelBufferGetWidth(pixelBuffer);
int textureHeight = CVPixelBufferGetHeight(pixelBuffer);
if (!videoTextureCache)
{
NSLog(@"No video Texture cache");
}
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
// Y-plane
err = CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
videoTextureCache,
pixelBuffer,
NULL,
GL_TEXTURE_2D,
GL_RED_EXT,
textureWidth,
textureHeight,
GL_RED_EXT,
GL_UNSIGNED_BYTE,
0,
&lumaTexture);
if (err)
{
NSLog(@"Error at CVOpenGLESTextureCacheCreateTextureFromImage %d", err);
}
glBindTexture(CVOpenGLESTextureGetTarget(lumaTexture), CVOpenGLESTextureGetName(lumaTexture));
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
// UV-plane
err = CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
videoTextureCache,
pixelBuffer,
NULL,
GL_TEXTURE_2D,
GL_RG_EXT,
textureWidth / 2,
textureHeight / 2,
GL_RG_EXT,
GL_UNSIGNED_BYTE,
1,
&chromaTexture);
if (err)
{
NSLog(@"Error at CVOpenGLESTextureCacheCreateTextureFromImage %d", err);
}
glBindTexture(CVOpenGLESTextureGetTarget(chromaTexture), CVOpenGLESTextureGetName(chromaTexture));
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);I know that the code is not complete but it should be enough to understand my problem.
Could anybody please help me or show me some working example with this approach ?
-
Calling ffmpeg api from Oracle
1er mai 2012, par TenGI have installed ffmpeg and ffmpeg-devel packages on Linux.
Oracle 11g is installed and running.
The database stores media files, and for better streaming we need to convert them to AVI format.
For ease of integration, we would like to do this conversion in the database.
Now, the simplest option is to write a wrapper for the ffmpeg command line utility, and enable a PLSQL procedure to call this.
However this would require the following steps :
- Read video BLOB
- Write to a OS file
- Call ffmpeg wrapper giving file name from (2) and output file name
- Load output file from 3 into a BLOB in PLSQL
I would like to if possible write a C routine (using the Oracle External Library feature) which accepts the input as the BLOB (OciLOBLocator), calls the appropriate libavformat functions presenting the LOB, and write the return to a LOB (again OciLOBLOcator) which is what the PLSQL layer then uses as the AVI file.
The other advantage of this is it avoids the undesirable impact of issuing a OS command from within Oracle.
The problem I have is that the examples given for ffmpeg show the processing of data from files, whereas I need the libraries to process the LOBs.
The alternative is to see if the OrdVideo data type in Oracle does this kind of conversion by using setformat and process.