Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (57)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

Sur d’autres sites (7221)

  • Getting video metadata in ruby script using ffmpeg, ffprobe or rvideo

    24 janvier 2013, par alex

    I want to get metadata of videos referenced by a URL using Ruby. At this point, I found many related posts, but could not find out how to solve my problem.

    I tried to use RVideo, but when I do :

    file = RVideo::Inspector.new(:file => 'http://www.agreatsite.com/avideo.mp4' ;)

    It throws

    'ArgumentError : File not found (http://www.agreatsite.com/avideo.mp4)...

    So I can't get the information using RVideo (but it works well when I have the file hosted on my local computer).

    I then tried to use ffprobe, but I don't know how to read the output.
    So far, I have the following method, which "shows" the information I want when I run it in the console, but it actually returns "true" and I can't find out how to capture the output I need...

     def media_info
       source = self
       command = <<-end_command
         ffprobe -v quiet -print_format json -show_format -show_streams  #{source}
       end_command
       command.gsub!(/\s+/, " ")
       system(command)
     end

    Would love some help, to make this work with either ffprobe or RVideo !

    UPDATE :
    I found a way to get what I needed. Not sure this is the best way to do it :

    def get_media_duration

    source = self.media[0][:url]    

    command = <<-end_command
     ffprobe -v quiet  -show_streams  #{source}
    end_command
    command.gsub!(/\s+/, " ")

    duration = ""
    IO.popen(command) { |io| while (line = io.gets) do
                           puts "++ "+line.inspect
                           duration = line.split("duration=")[1].gsub("\n", "") if line.split("duration=").length > 1
                         end
                     }
    duration  

    end

    I guess I could make it work that way, but doesn't seem very elegant to me. Better suggestions would be greatly appreciated !

  • android ffmpeg opengl es render movie

    18 janvier 2013, par broschb

    I am trying to render video via the NDK, to add some features that just aren't supported in the sdk. I am using FFmpeg to decode the video and can compile that via the ndk, and used this as a starting point. I have modified that example and instead of using glDrawTexiOES to draw the texture I have setup some vertices and am rendering the texture on top of that (opengl es way of rendering quad).

    Below is what I am doing to render, but creating the glTexImage2D is slow. I want to know if there is any way to speed this up, or give the appearance of speeding this up, such as trying to setup some textures in the background and render pre-setup textures. Or if there is any other way to more quickly draw the video frames to screen in android ? Currently I can only get about 12fps.

    glClear(GL_COLOR_BUFFER_BIT);
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glBindTexture(GL_TEXTURE_2D, textureConverted);

    //this is slow
    glTexImage2D(GL_TEXTURE_2D, /* target */
    0, /* level */
    GL_RGBA, /* internal format */
    textureWidth, /* width */
    textureHeight, /* height */
    0, /* border */
    GL_RGBA, /* format */
    GL_UNSIGNED_BYTE,/* type */
    pFrameConverted->data[0]);

    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
    glVertexPointer(3, GL_FLOAT, 0, vertices);
    glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices);
    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);

    EDIT
    I changed my code to initialize a gltextImage2D only once, and modify it with glSubTexImage2D, it didn't make much of an improvement to the framerate.

    I then modified the code to modify a native Bitmap object on the NDK. With this approach I have a background thread that runs that process the next frames and populates the bitmap object on the native side. I think this has potential, but I need to get the speed increased of converting the AVFrame object from FFmpeg into a native bitmap. Below is currently what I am using to convert, a brute force approach. Is there any way to increase the speed of this or optimize this conversion ?

    static void fill_bitmap(AndroidBitmapInfo*  info, void *pixels, AVFrame *pFrame)
    {
    uint8_t *frameLine;

    int  yy;
    for (yy = 0; yy < info->height; yy++) {
       uint8_t*  line = (uint8_t*)pixels;
       frameLine = (uint8_t *)pFrame->data[0] + (yy * pFrame->linesize[0]);

       int xx;
       for (xx = 0; xx < info->width; xx++) {
           int out_offset = xx * 4;
           int in_offset = xx * 3;

           line[out_offset] = frameLine[in_offset];
           line[out_offset+1] = frameLine[in_offset+1];
           line[out_offset+2] = frameLine[in_offset+2];
           line[out_offset+3] = 0;
       }
       pixels = (char*)pixels + info->stride;
    }
    }
  • ‘undefined reference to xxxxx’ , 'check the directory for the files' it does not work

    26 décembre 2011, par sirupa

    Merry Christmas, everybody,

    I’m coding ffmpeg with gcc.

    But, on the build process, I met the errors of ‘undefined reference to xxxxx’ for all functions that I coded in my program, and I recognized that it was due to the libxxx.a file.

    And the every adviser on internet suggested that check the directory for the files.

    So, I searched the files in which include the function names in my computer, and I found the .a files are correctly set in the directory which I coded.

    And there are the other files which are named ‘libxxx.dll.a’, so I tried to build with the files ‘libxxx.dll.a’, but I got the same result.

    On this point, I have got some questions.

    1) If the gcc could not find the libxxx.a files, it would say that ‘cannot find the –lxxx’. But it just said ‘undefined reference to xxxx’. It means that those libxxx.a files are in the correct directories.

    2) And if the files do not define the functions, it is strange. Because those files include the function names and are the same files/directories I had searched in my computer, and I think it should have the definitions of the functions. But I am not sure that the files define the functions or not, because I cannot read the file myself.

    If I am wrong, what was my mistake ?

    3) Can libxxxlib.a files be replaced with the libxxx.a ? And if it can, what is the difference between libxxxlib.a and libxxx.a ? And the same for the libz and libzlib ?a

    Here is my line commend, the directory which include the libxxx.a files.

    g++ -o C :\ffmpeg\ffmpegTest C :\ffmpeg\ffmpegTest.cc -IC :\ffmpeg -LC :\ffmpeg\3rdparty\lib -lavutil -lavformat -lavcodec -lz -lavutil -lm -D__STDC_CONSTANT_MACROS

    C :\ffmpeg\3rdparty\lib

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0xec> : undefined reference to 'av_register_all()'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x11c> : undefined reference to 'av_open_input_file(AVFormatContext*, char const, AVInputFormat*, int, AVFormatParameters*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x13b> : undefined reference to 'av_find_stream_info(AVFormatContext*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x174> : undefined reference to 'dump_format(AVFormatContext, int, char const*, int)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x224> : undefined reference to 'avcodec_find_decoder(CodecID)'

    and all the errors are

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x281> : undefined reference to 'avcodec_open(AVCodecContext*, AVCodec)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x297> : undefined reference to 'avcodec_alloc_frame()'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x2a3> : undefined reference to 'avcodec_alloc_frame()'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x2e6> : undefined reference to 'avpicture_get_size(PixelFormat,int,int)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x2fc> : undefined reference to 'av_malloc(unsigned int)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x341> : undefined reference to 'avpicture_fill(AVPicture*, unsigned char*, PixelFormat, int, int)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x38c> : undefined reference to 'avcodec_decode_video2(AVCodecContext, AVFrame*, int, AVPacket*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x409> : undefined reference to 'sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, swsFilter*, double const*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x463> : undefined reference to 'sws_scale(SwsContext*, unsigned char const* const*, int const*, int, int, unsigned char* const*, int const*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x4bb> : undefined reference to 'av_free_packet(AVPacket*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x4cf> : undefined reference to 'av_read_frame(AVFormatContext, AVPacket*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x36c> : undefined reference to 'av_free(void*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x36c> : undefined reference to ' avcodec_close(AVCodecContext*)'

    C :\Users\AppData\Local\Temp\ccVHLzjK.o:ffmpegTest.cc :<.text+0x36c> : undefined reference to 'av_close_input_file(AVFormatContext)'