Recherche avancée

Médias (91)

Autres articles (111)

  • L’utiliser, en parler, le critiquer

    10 avril 2011

    La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
    Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
    Une liste de discussion est disponible pour tout échange entre utilisateurs.

  • Mediabox : ouvrir les images dans l’espace maximal pour l’utilisateur

    8 février 2011, par

    La visualisation des images est restreinte par la largeur accordée par le design du site (dépendant du thème utilisé). Elles sont donc visibles sous un format réduit. Afin de profiter de l’ensemble de la place disponible sur l’écran de l’utilisateur, il est possible d’ajouter une fonctionnalité d’affichage de l’image dans une boite multimedia apparaissant au dessus du reste du contenu.
    Pour ce faire il est nécessaire d’installer le plugin "Mediabox".
    Configuration de la boite multimédia
    Dès (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (6701)

  • Encoding video settings with Transloadit and FFMPEG

    2 octobre 2015, par David Soler

    I’m using Transloadit to convert and compress videos from .mov to .ts format. I’m using the json templates but unfortunately the docs are not too extensive. The thing is the quality I’m getting rigth now is very poor and pixeled. If I do it through console with ffmpeg command and including some parameters as crf (Constant Rate Factor) the quality gets a lot better but I dont know how edit it in transloadit template to get the same result.

    This is the ffmpeg command I’m using to convert the video in console

    ./ffmpeg -i ../canales.mov -c:v libx264 -crf 23 -bsf:a aac_adtstoasc output.ts

    And this is the json template I’m using right now. I guess I should add parameters to ffmpeg hash but I don’t know which settings are allowed

    {
     "steps": {
       "file": {
         "robot": "/file/filter",
         "accepts": [
           [
             "${file.mime}",
             "regex",
             "video"
           ]
         ],
         "declines": [
           [
             "${file.size}",
             ">",
             "10485760"
           ],
           [
             "${file.meta.duration}",
             ">",
             "16"
           ]
         ],
         "error_on_decline": true
       },
       "segments": {
         "robot": "/video/encode",
         "preset": "iphone-high",
         "width": 1242,
         "height": 2208,
         "use": "file",
         "segment": true,
         "segment_duration": 10,
         "ffmpeg_stack": "v2.2.3",
         "ffmpeg": {
           "b": "1200K",
           "crf": 23
         }
       },
       "thumb": {
         "robot": "/video/thumbs",
         "use": "file",
         "count": 1
       },
       "store": {
         "robot": "/s3/store",
         "use": [
           "segments",
           "thumb"
         ],
         "key": "key",
         "secret": "Secret",
         "bucket": "bucket"
       }
     }
    }
  • FFmpeg does not decode h264 stream

    5 juillet 2012, par HAPPY_TIGER

    I am trying to decode h264 stream from rtsp server and render it on iPhone.

    I found some libraries and read some articles about it.

    Libraries are from dropCam for iPhone called RTSPClient and DecoderWrapper.

    But I can not decode frame data with DecodeWrapper that using on ffmpeg.

    Here are my code.

    VideoViewer.m

    - (void)didReceiveFrame:(NSData*)frameData presentationTime:(NSDate*)presentationTime
    {
       [VideoDecoder staticInitialize];
       mConverter = [[VideoDecoder alloc] initWithCodec:kVCT_H264 colorSpace:kVCS_RGBA32 width:320 height:240 privateData:nil];


       [mConverter decodeFrame:frameData];

       if ([mConverter isFrameReady]) {
           UIImage *imageData =[mConverter getDecodedFrame];
           if (imageData) {
               [mVideoView setImage:imageData];
               NSLog(@"decoded!");
           }
       }
    }

    ---VideoDecoder.m---
    - (id)initWithCodec:(enum VideoCodecType)codecType
            colorSpace:(enum VideoColorSpace)colorSpace
                 width:(int)width
                height:(int)height
           privateData:(NSData*)privateData {
       if(self = [super init]) {

           codec = avcodec_find_decoder(CODEC_ID_H264);
           codecCtx = avcodec_alloc_context();

           // Note: for H.264 RTSP streams, the width and height are usually not specified (width and height are 0).  
           // These fields will become filled in once the first frame is decoded and the SPS is processed.
           codecCtx->width = width;
           codecCtx->height = height;

           codecCtx->extradata = av_malloc([privateData length]);
           codecCtx->extradata_size = [privateData length];
           [privateData getBytes:codecCtx->extradata length:codecCtx->extradata_size];
           codecCtx->pix_fmt = PIX_FMT_RGBA;
    #ifdef SHOW_DEBUG_MV
           codecCtx->debug_mv = 0xFF;
    #endif

           srcFrame = avcodec_alloc_frame();
           dstFrame = avcodec_alloc_frame();

           int res = avcodec_open(codecCtx, codec);
           if (res < 0)
           {
               NSLog(@"Failed to initialize decoder");
           }

       }

       return self;    
    }

    - (void)decodeFrame:(NSData*)frameData {


       AVPacket packet = {0};
       packet.data = (uint8_t*)[frameData bytes];
       packet.size = [frameData length];

       int frameFinished=0;
       NSLog(@"Packet size===>%d",packet.size);
       // Is this a packet from the video stream?
       if(packet.stream_index==0)
       {
           int res = avcodec_decode_video2(codecCtx, srcFrame, &frameFinished, &packet);
           NSLog(@"Res value===>%d",res);
           NSLog(@"frame data===>%d",(int)srcFrame->data);
           if (res < 0)
           {
               NSLog(@"Failed to decode frame");
           }
       }
       else
       {
           NSLog(@"No video stream found");
       }


       // Need to delay initializing the output buffers because we don't know the dimensions until we decode the first frame.
       if (!outputInit) {
           if (codecCtx->width > 0 && codecCtx->height > 0) {
    #ifdef _DEBUG
               NSLog(@"Initializing decoder with frame size of: %dx%d", codecCtx->width, codecCtx->height);
    #endif

               outputBufLen = avpicture_get_size(PIX_FMT_RGBA, codecCtx->width, codecCtx->height);
               outputBuf = av_malloc(outputBufLen);

               avpicture_fill((AVPicture*)dstFrame, outputBuf, PIX_FMT_RGBA, codecCtx->width, codecCtx->height);

               convertCtx = sws_getContext(codecCtx->width, codecCtx->height, codecCtx->pix_fmt,  codecCtx->width,
                                           codecCtx->height, PIX_FMT_RGBA, SWS_FAST_BILINEAR, NULL, NULL, NULL);

               outputInit = YES;
               frameFinished=1;
           }
           else {
               NSLog(@"Could not get video output dimensions");
           }
       }

       if (frameFinished)
           frameReady = YES;

    }

    The console shows me as follows.

    2011-05-16 20:16:04.223 RTSPTest1[41226:207] Packet size===>359
    [h264 @ 0x5815c00] no frame!
    2011-05-16 20:16:04.223 RTSPTest1[41226:207] Res value===>-1
    2011-05-16 20:16:04.224 RTSPTest1[41226:207] frame data===>101791200
    2011-05-16 20:16:04.224 RTSPTest1[41226:207] Failed to decode frame
    2011-05-16 20:16:04.225 RTSPTest1[41226:207] decoded!
    2011-05-16 20:16:04.226 RTSPTest1[41226:207] Packet size===>424
    [h264 @ 0x5017c00] no frame!
    2011-05-16 20:16:04.226 RTSPTest1[41226:207] Res value===>-1
    2011-05-16 20:16:04.227 RTSPTest1[41226:207] frame data===>81002704
    2011-05-16 20:16:04.227 RTSPTest1[41226:207] Failed to decode frame
    2011-05-16 20:16:04.228 RTSPTest1[41226:207] decoded!
    2011-05-16 20:16:04.229 RTSPTest1[41226:207] Packet size===>424
    [h264 @ 0x581d000] no frame!
    2011-05-16 20:16:04.229 RTSPTest1[41226:207] Res value===>-1
    2011-05-16 20:16:04.230 RTSPTest1[41226:207] frame data===>101791616
    2011-05-16 20:16:04.230 RTSPTest1[41226:207] Failed to decode frame
    2011-05-16 20:16:04.231 RTSPTest1[41226:207] decoded!
    . . . .  .

    But the simulator shows nothing.

    What's wrong with my code.

    Help me solve this problem.

    Thanks for your answers.

  • swscale/arm : re-enable neon rgbx to nv12 routines

    22 février 2016, par Xiaolei Yu
    swscale/arm : re-enable neon rgbx to nv12 routines
    

    Commit ’842b8f4ba2e79b9c004a67f6fdb3d5c5d05805d3’ fixed clang/iphone
    build but failed on some versions of cygwin. It has now been verified
    to work on both platforms.

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libswscale/arm/Makefile
    • [DH] libswscale/arm/swscale_unscaled.c