Recherche avancée

Médias (1)

Mot : - Tags -/biographie

Autres articles (111)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 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 (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (6626)

  • Vitamio build librtmp for android

    15 avril 2014, par David

    I read in the GitHub of this project FFmpeg-vitamio comes with rtmp compilled but seems Not.

    Here in the next link to the ffmpeg build, as you can see exists an .sh for android with librtmp

    https://github.com/yixia/FFmpeg-Vitamio

    When I try to execute it I get a syntax error from windows and ubuntu.

    And I don´t have idea about what Must I do once compiled (If it´s possible) where to place the libs, etc, Can someone help me please ? I can´t find information about that.

    Greetens

    DAvid

  • FFmpegFrameGrabber crashes 100% of time attempting to compress video on Android

    2 avril 2013, par esilver

    I am attempting to use javacv/ffmpeg to compress video on an Android device prior to upload. I am using this code :

    FrameGrabber grabber = new FFmpegFrameGrabber(inputFile.getAbsolutePath());
    grabber.start();
    FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputFile.getAbsolutePath(),
      grabber.getImageWidth(), grabber.getImageHeight(),
      grabber.getAudioChannels());

    recorder.setVideoCodec(com.googlecode.javacv.cpp.avcodec.AV_CODEC_ID_MPEG4);
    recorder.setAudioCodec(com.googlecode.javacv.cpp.avcodec.AV_CODEC_ID_PCM_S16LE);
    recorder.setPixelFormat(com.googlecode.javacv.cpp.avutil.AV_PIX_FMT_YUV420P);

    /* Unclear if I need these lines or not */
    // recorder.setFrameRate(grabber.getFrameRate());
    // recorder.setSampleRate(grabber.getSampleRate());
    // recorder.setFormat("mp4");
    /* End unclear lines */

    recorder.start();

    Frame frame;
    int totalFrames = grabber.getLengthInFrames();
    for (int i = 0; i < totalFrames; i++) {
     frame = grabber.grabFrame();
     if (frame == null) break;
     recorder.record(frame);
    }

    recorder.stop();
    grabber.stop();

    This code crashes 100% of the time at FFmpegFrameGrabber line 584, which is the line :

    frame.samples = samples_buf.position(0).limit(data_size / av_get_bytes_per_sample(samples_frame.format()));

    This is because samples_buf is null, because samples_frame.format() does not appear to match any of the cases (AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_DBL).

    I attempted to avoid this crash by using the grab() method instead of the grabFrame() method, because the grab() method skips audio processing. However, the video I end up with does not play back when I extract it off the device and attempt playback in a web browser, for example.

    I have tried numerous iterations of this code, including this code, all to no avail, all crashing because of line above.

    Can anyone advise the shortest working path to compressing a video using javacv/ffmpeg on Android ?

    Thanks !

  • av_read_frame function in ffmpeg in android always returning packet.stream_index as 0

    31 juillet 2013, par droidmad

    I am using the following standard code pasted below (ref : http://dranger.com/ffmpeg/) to use ffmpeg in android using ndk. My code is working fine in ubuntu 10.04 using gcc compiler. But I am facing an issue in android.The issue is av_read_frame(pFormatCtx, &packet) is always returning packet.stream_index=0. I have tested my code with various rtsp urls and I have the same behaviour in all cases. I do not have any linking or compiling issues as everything seems to be working fine except this issue. I am trying to solve this from last 2 days but I am stuck badly.Please point me in right direction.

    #include
    #include <android></android>log.h>

    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavformat></libavformat>avformat.h>
    #include <libswscale></libswscale>swscale.h>

    #include
    #define DEBUG_TAG "mydebug_ndk"

    jint Java_com_example_tut2_MainActivity_myfunc(JNIEnv * env, jobject this,jstring myjurl) {
     AVFormatContext *pFormatCtx = NULL;
     int             i, videoStream;
     AVCodecContext  *pCodecCtx = NULL;
     AVCodec         *pCodec = NULL;
     AVFrame         *pFrame = NULL;
     AVPacket        packet;
     int             frameFinished;

     AVDictionary    *optionsDict = NULL;
     struct SwsContext *sws_ctx = NULL;

     jboolean isCopy;
     const char * mycurl = (*env)->GetStringUTFChars(env, myjurl, &amp;isCopy);
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:p2: [%s]", mycurl);

     // Register all formats and codecs
     av_register_all();
     avformat_network_init();
     // Open video file
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:before_open");

     if(avformat_open_input(&amp;pFormatCtx, mycurl, NULL, NULL)!=0)
         return -1;
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "start: %d\t%d\n",pFormatCtx->raw_packet_buffer_remaining_size,pFormatCtx->max_index_size);

     (*env)->ReleaseStringUTFChars(env, myjurl, mycurl);
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:before_stream");
     // Retrieve stream information
     if(avformat_find_stream_info(pFormatCtx, NULL)&lt;0)
         return -1;
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:after_stream");
     // Find the first video stream
     videoStream=-1;
     for(i=0; inb_streams; i++)
         if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) {
           videoStream=i;
           break;
         }
     if(videoStream==-1)
         return -1; // Didn&#39;t find a video stream
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:after_videostream");
     // Get a pointer to the codec context for the video stream
     pCodecCtx=pFormatCtx->streams[videoStream]->codec;
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:after_codec_context");

     // Find the decoder for the video stream
     pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:after_decoder");

     if(pCodec==NULL)
         return -1;
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:found_decoder");

     // Open codec
     if(avcodec_open2(pCodecCtx, pCodec, &amp;optionsDict)&lt;0)
         return -1;
     // Allocate video frame
     pFrame=avcodec_alloc_frame();
     sws_ctx = sws_getContext(pCodecCtx->width,pCodecCtx->height,pCodecCtx->pix_fmt,pCodecCtx->width,
           pCodecCtx->height,PIX_FMT_YUV420P,SWS_BILINEAR,NULL,NULL,NULL);
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:before_while");

     int count=0;
     while(av_read_frame(pFormatCtx, &amp;packet)>=0) {
           __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "entered while: %d   %d   %d\n", packet.duration,packet.stream_index,packet.size);

         if(packet.stream_index==videoStream) {
             // Decode video frame
             //break;
             avcodec_decode_video2(pCodecCtx, pFrame, &amp;frameFinished,&amp;packet);
             __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:in_while");
             if(frameFinished) {
                 __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:gng_out_of_while");
                   break;
             }
         }

         // Free the packet that was allocated by av_read_frame
         av_free_packet(&amp;packet);
         if(++count>1000)
            return -2; //infinite while loop
     }
     __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:after_while");

     // Free the YUV frame
     av_free(pFrame);
     // Close the codec
     avcodec_close(pCodecCtx);
     // Close the video file
     avformat_close_input(&amp;pFormatCtx);

     return 0;

    }