Recherche avancée

Médias (33)

Mot : - Tags -/creative commons

Autres articles (62)

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

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (7784)

  • build : Have old H.264/HEVC nvenc encoders select their new counterparts

    3 décembre 2016, par Diego Biurrun
    build : Have old H.264/HEVC nvenc encoders select their new counterparts
    

    This makes sense and takes care of missing build dependencies.

    • [DBH] configure
  • Audio encoding using avcodec_fill_audio_frame() and memory leaks

    7 mai 2014, par praks411

    As a part of encoding decoded audio packets, I’m using avcodec_fill_audio_frame(). I’m passing allocated AVFrame pointer to along with buffer containing the decoded samples and other parameters number of channels, sample format, buffer size. Though the encoding is working fine I’m not able to completely eliminate the memory leaks. I’ve taken care of most of things but still I’m not able detect the leakage.
    Below is the function which I’m using for encoding. Please suggest something.
    AudioSample contains decoded data and it is completely managed in different class(free in class destructor). I’m freeing the AVFrame in FFmpegEncoder destructor and AVPacket is freed every time using av_free_packet() with av_packet_destruct enabled. What more do I need to free ?

    void FfmpegEncoder::WriteAudioSample(AudioSample *audS)
    {


       int num_audio_frame = 0;
       AVCodecContext *c = NULL;
      // AVFrame *frame;
       AVPacket pkt;

       av_init_packet(&pkt);
       pkt.destruct = av_destruct_packet;
       pkt.data = NULL;
       pkt.size = 0;
       int ret = 0, got_packet = 0;
       c = m_out_aud_strm->codec;
        static int64_t aud_pts_in = -1;

       if((audS != NULL) && (audS->GetSampleLength() > 0) )
       {
           int byte_per_sample = av_get_bytes_per_sample(c->sample_fmt);

           PRINT_VAL("Byte Per Sample ", byte_per_sample)
           m_frame->nb_samples = (audS->GetSampleLength())/(c->channels*av_get_bytes_per_sample(c->sample_fmt));
           if(m_frame->nb_samples == c->frame_size)
           {  

    #if 1
           if(m_need_resample && (c->channels >= 2))
              {
                  uint8_t * t_buff1 = new uint8_t[audS->GetSampleLength()];
                  if(t_buff1 != NULL)
                   {
                        for(int64_t i = 0; i< m_frame->nb_samples; i++)
                       {
                           memcpy(t_buff1 + i*byte_per_sample, (uint8_t*)((uint8_t*)audS->GetAudioSampleData() + i*byte_per_sample*c->channels), byte_per_sample);
                           memcpy(t_buff1 + (audS->GetSampleLength())/2 + i*byte_per_sample, (uint8_t*)((uint8_t*)audS->GetAudioSampleData() + i*byte_per_sample*c->channels+ byte_per_sample), byte_per_sample);
                       }
                       audS->FillAudioSample(t_buff1, audS->GetSampleLength());
                       delete[] t_buff1;
                   }
               }
    #endif
               ret = avcodec_fill_audio_frame(m_frame, c->channels, c->sample_fmt, (uint8_t*)audS->GetAudioSampleData(),m_frame->nb_samples*byte_per_sample*c->channels, 0);
               //ret = avcodec_fill_audio_frame(&frame, c->channels, c->sample_fmt, t_buff,frame.nb_samples*byte_per_sample*c->channels, 0);
               if(ret != 0)
               {
                   PRINT_MSG("Avcodec Fill Audio Failed ")
               }
               else
               {
                   got_packet = 0;
                   ret = avcodec_encode_audio2(c, &pkt, m_frame, &got_packet);
                   if(ret < 0 || got_packet == 0)
                   {
                       PRINT_MSG("failed to encode audio ")    
                   }
                   else
                   {
                       PRINT_MSG("Audio Packet Encoded ");
                       aud_pts_in++;
                       pkt.pts = aud_pts_in;
                       pkt.dts = pkt.pts;
                       pkt.stream_index = m_out_aud_strm->index;

                       ret = av_interleaved_write_frame(oc, &pkt);
                       if(ret != 0)
                       {
                           PRINT_MSG("Error Write Audio PKT ")    
                       }
                       else
                       {
                           PRINT_MSG("Audio PKT Writen ")    
                       }
                   }
                }
           }
           avcodec_flush_buffers(c);
        //   avcodec_free_frame(&frame);
        }

        av_free_packet(&pkt);
    }

    Thanks,
    Pradeep

  • FFMPEG "Segmentation fault" with network stream source

    23 décembre 2023, par user11186466

    I use release : 4.2.2 (static) from "https://johnvansickle.com/ffmpeg/"

    



    Final code will be on "Amazon AWS lambda"

    



    Goal : use a url stream and add watermak

    



    Link to video : ​https://feoval.fr/519.mp4

    



    Link to Watermak : ​https://feoval.fr/watermark.png

    



    ./ffmpeg -i "https://feoval.fr/519.mp4" -i "./watermark.png" -filter_complex "overlay=W-w-10:H-h-10:format=rgb" -f "mp4" -movflags "frag_keyframe+empty_moov" -pix_fmt "yuv420p" test.mp4


    



    return "Segmentation fault"

    



    I have the same error on my computer and on AWS Lambda server

    



    ./ffmpeg -i "https://feoval.fr/519.mp4" -f "mp4" -movflags "frag_keyframe+empty_moov" -pix_fmt "yuv420p" test.mp4


    



    work (but not watermak)

    



    ./ffmpeg -i "./519.mp4" -i "./watermark.png" -filter_complex "overlay=W-w-10:H-h-10:format=rgb" -f "mp4" -movflags "frag_keyframe+empty_moov" -pix_fmt "yuv420p" test.mp4


    



    work (but not with stream)

    



    Thanks you very much !

    



    Logs for the first case who return "Segmentation fault" :

    



    ...
Stream mapping:
Stream #0:0 (h264) -> overlay:main (graph 0)
Stream #1:0 (png) -> overlay:overlay (graph 0)
overlay (graph 0) -> Stream #0:0 (libx264)
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, ? for help
[libx264 @ 0x742e480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x742e480] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x742e480] 264 - core 159 r2991 1771b55 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - ​http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: isommp41mp42
encoder : Lavf58.29.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 480x848, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
Metadata:
encoder : Lavc58.54.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2020-01-13T08:54:26.000000Z
handler_name : Core Media Audio
encoder : Lavc58.54.100 aac
Segmentation fault (core dumped)