Recherche avancée

Médias (3)

Mot : - Tags -/Valkaama

Autres articles (50)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (5401)

  • file input from http (url) in melt plugin

    26 décembre 2017, par Anuj TBE

    I’m using MELT plugin for generating crossfade animation using series of images.

    I found the corssfade animation script from here.

    and the script is

    melt -verbose \
    -profile atsc_720p_25 \
    001.png out=50 \
    002.png out=75 -mix 25 -mixer luma \
    003.png out=75 -mix 25 -mixer luma \
    004.png out=75 -mix 25 -mixer luma \
    005.png out=75 -mix 25 -mixer luma \
    -consumer avformat:output.mp4 vcodec=libx264 an=1

    But instead of providing file from local path, I want to use http url like

    melt -verbose \
    -profile atsc_720p_25 \
    http://example.com/image1.jpg out=50 \
    http://example.com/image2.jpg out=75 -mix 25 -mixer luma \
    http://example.com/image3.jpg out=75 -mix 25 -mixer luma \
    http://example.com/image4.jpg out=75 -mix 25 -mixer luma \
    http://example.com/image5.jpg out=75 -mix 25 -mixer luma \
    -consumer avformat:output.mp4 vcodec=libx264 an=1

    But it gives

    No LADSPA plugins were found!

    Check your LADSPA_PATH environment variable.

    and full output is

    No LADSPA plugins were found!

    Check your LADSPA_PATH environment variable.
    [mjpeg @ 0x168a320] Changeing bps to 8
    [mjpeg @ 0x12725a0] Changeing bps to 8
    [mjpeg @ 0x1691120] Changeing bps to 8
    [mjpeg @ 0x1bc5ac0] Changeing bps to 8
    [mjpeg @ 0x1907ae0] Changeing bps to 8
    [mjpeg @ 0x1d09a20] Changeing bps to 8
    [mjpeg @ 0x13a2b00] Changeing bps to 8
    [mjpeg @ 0x1e4e6e0] Changeing bps to 8
    [mjpeg @ 0x1d0b8c0] Changeing bps to 8
    [mjpeg @ 0x1d190c0] Changeing bps to 8
    +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
    |1=-10| |2= -5| |3= -2| |4= -1| |5=  0| |6=  1| |7=  2| |8=  5| |9= 10|
    +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
    +---------------------------------------------------------------------+
    |               H = back 1 minute,  L = forward 1 minute              |
    |                 h = previous frame,  l = next frame                 |
    |           g = start of clip, j = next clip, k = previous clip       |
    |                0 = restart, q = quit, space = play                  |
    +---------------------------------------------------------------------+
    [libx264 @ 0x7f7f980c7aa0] using SAR=1/1
    [libx264 @ 0x7f7f980c7aa0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x7f7f980c7aa0] profile High, level 3.1
    [libx264 @ 0x7f7f980c7aa0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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=6 lookahead_threads=1 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
    [mjpeg @ 0x7f7f88433200] Changeing bps to 8
    [mjpeg @ 0x7f7f88832980] Changeing bps to 8
    [mjpeg @ 0x7f7f88052ac0] Changeing bps to 8
    [mjpeg @ 0x7f7f88c5abe0] Changeing bps to 8
    [mjpeg @ 0x7f7f88bdd560] Changeing bps to 8
    [mjpeg @ 0x7f7f88beb2a0] Changeing bps to 8
    [mjpeg @ 0x7f7f88c838a0] Changeing bps to 8
    [mjpeg @ 0x7f7f894a1100] Changeing bps to 8
    [mjpeg @ 0x7f7f88b6a3a0] Changeing bps to 8
    [mjpeg @ 0x7f7f88b78840] Changeing bps to 8
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f898cc980] Warning: data is not aligned! This can lead to a speedloss
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [mjpeg @ 0x7f7f89ff25a0] Changeing bps to 8
    Segmentation fault (core dumped)

    Also, the generated video file is broken

    How can I provide http input ?

  • Senior Software Engineer for Enterprise Analytics Platform

    28 janvier 2016, par Matthieu Aubry — Uncategorized

    We’re looking for a lead developer to work on Piwik Enterprise Analytics core platform software. We have some exciting challenges to solve and need you !

    You’ll be working with both fellow employees and our open-source community. Piwik staff lives in New Zealand, Europe (Poland, Germany) and in the U.S. We do the vast majority of our collaboration online.

    We are a small, flexible team, so when you come aboard, you will play an integral part in engineering. As a leader you’ll help us to prioritise work and grow our community. You’ll help to create a welcoming environment for new contributors and set an example with your development practices and communications skills. You will be working closely with our CTO to build a future for Piwik.

    Key Responsibilities

    • Strong competency coding in PHP and JavaScript.
    • Scaling existing backend system to handle ever increasing amounts of traffic and new product requirements.
    • Outstanding communication and collaboration skills.
    • Drive development and documentation of internal and external APIs (Piwik is an open platform).
    • Help make our development practices better and reduce friction from idea to deployment.
    • Mentor junior engineers and set the stage for personal growth.

    Minimum qualifications

    • 5+ years of experience in product development, security, usable interface design.
    • 5+ years experience building successful production software systems.
    • Strong competency in PHP5 and JavaScript application development.
    • Skill at writing tests and reviewing code.
    • Strong analytical skills.

    Location

    • Remote work position !
    • or you can join us in our office based in Wellington, New Zealand or in Wrocław, Poland.

    Benefits

    • Competitive salary.
    • Remote work is possible.
    • Yearly meetup with the whole team abroad.
    • Be part of a successful open source company and community.
    • In our Wellington (NZ) and Wroclaw (PL) offices : snacks, coffee, nap room, Table football, Ping pong…
    • Regular events.
    • Great team of people.
    • Exciting projects.

    Learn more

    Learn more what it’s like to work on Piwik in our blog post

    About Piwik

    At Piwik we develop the leading open source web analytics platform, used by more than one million websites worldwide. Our vision is to help the world liberate their analytics data by building the best open alternative to Google Analytics.

    The Piwik platform collects, stores and processes a lot of information : hundreds of millions of data points each month. We create intuitive, simple and beautiful reports that delight our users.

    Apply online

    To apply for this position, please Apply online here. We look forward to receiving your applications !

  • Probe function in ffmpeg

    14 octobre 2014, par eejs

    I am trying to write a demuxer for STL subtitle format(FFmpeg). I am having trouble understanding how the probe function is referenced in ffmpeg.
    I have the following code for my probe :

    #include "avformat.h"
    #include "internal.h"
    #include "subtitles.h"
    #include "libavutil/intreadwrite.h"

    typedef struct {
       FFDemuxSubtitlesQueue q;
    } STLContext;

    static int stl_probe(AVProbeData *p)
    {
       char c;
       const unsigned char *ptr = p->buf;
       av_log(0,100,"printing the probe function");
       while(*ptr=='\r' || *ptr=='\n' || *ptr=='$' || (ptr[0]=='/' && ptr[1]=='/'))
           ptr+=ff_subtitles_next_line(ptr);
       if (sscanf(ptr, "%*d:%*d:%*d:%*d , %*d:%*d:%*d:%*d , %c", &c) == 1)
           return AVPROBE_SCORE_MAX;
        return 0;

    }
    static int64_t get_pts(char **buf, int *duration)
    {
           int hh1, mm1, ss1, ms1;
           int hh2, mm2, ss2, ms2;
           int len=0;
           if (sscanf(*buf, "%2d:%2d:%2d:%2d , %2d:%2d:%2d:%2d , %n",
                      &hh1, &mm1, &ss1, &ms1,
                      &hh2, &mm2, &ss2, &ms2, &len) >= 8 && len>0) {
               int64_t start = (hh1*3600LL + mm1*60LL + ss1) * 100LL + ms1;
               int64_t end   = (hh2*3600LL + mm2*60LL + ss2) * 100LL + ms2;
               *duration = end - start;
               *buf+=len;
               return start;
            }
           return AV_NOPTS_VALUE;
    }

    static int stl_read_header(AVFormatContext *s)
    {
       STLContext *stl = s->priv_data;
       AVStream *st = avformat_new_stream(s, NULL);

       if (!st)
           return AVERROR(ENOMEM);
       avpriv_set_pts_info(st, 64, 1, 100);
       st->codec->codec_type = AVMEDIA_TYPE_SUBTITLE;
       st->codec->codec_id   = AV_CODEC_ID_TEXT;

       while (!avio_feof(s->pb)) {
           char line[4096];
           char *p = line;
           const int64_t pos = avio_tell(s->pb);
           int len = ff_get_line(s->pb, line, sizeof(line));
           int64_t pts_start;
           int duration;
           if (!len)
               break;

           line[strcspn(line, "\r\n")] = 0;

           pts_start = get_pts(&p , &duration);
           if (pts_start != AV_NOPTS_VALUE) {
               AVPacket *sub;

               sub = ff_subtitles_queue_insert(&stl->q, p, strlen(p), 0);
               if (!sub)
                   return AVERROR(ENOMEM);
               sub->pos = pos;
               sub->pts = pts_start;
               sub->duration = duration;
           }
       }

       ff_subtitles_queue_finalize(&stl->q);
       return 0;

    }
    static int stl_read_packet(AVFormatContext *s, AVPacket *pkt)
    {
       STLContext *stl = s->priv_data;
       return ff_subtitles_queue_read_packet(&stl->q, pkt);
    }

    static int stl_read_seek(AVFormatContext *s, int stream_index,
                                int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
    {
       STLContext *stl = s->priv_data;
       return ff_subtitles_queue_seek(&stl->q, s, stream_index,
                                      min_ts, ts, max_ts, flags);
    }

    static int stl_read_close(AVFormatContext *s)
    {
       STLContext *stl = s->priv_data;
       ff_subtitles_queue_clean(&stl->q);
       return 0;
    }

    AVInputFormat ff_stl_demuxer = {
       .name           = "stl",
       .long_name      = NULL_IF_CONFIG_SMALL("STL subtitles"),
       .priv_data_size = sizeof(STLContext),
       .read_probe     = stl_probe,
       .read_header    = stl_read_header,
       .read_packet    = stl_read_packet,
       .read_seek2     = stl_read_seek,
       .read_close     = stl_read_close,
       .extensions     = "stl",
    };

    Output of ./ffmpeg -f stl -i Test.stl Test.srt

    ffmpeg version N-66838-g9071bab Copyright (c) 2000-2014 the FFmpeg developers
     built on Oct 14 2014 12:28:54 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
     configuration:
     libavutil      54. 10.100 / 54. 10.100
     libavcodec     56.  4.101 / 56.  4.101
     libavformat    56.  9.100 / 56.  9.100
     libavdevice    56.  1.100 / 56.  1.100
     libavfilter     5.  1.105 /  5.  1.105
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
    Input #0, stl, from '/home/eejya/SubtitleTesting/UK_FINAL_240511.stl':
     Duration: N/A, bitrate: N/A
       Stream #0:0: Subtitle: text
    Output #0, srt, to '/home/eejya/SubtitleTesting/UkTest.srt':
     Metadata:
       encoder         : Lavf56.9.100
       Stream #0:0: Subtitle: subrip (srt)
       Metadata:
         encoder         : Lavc56.4.101 srt
    Stream mapping:
     Stream #0:0 -> #0:0 (text (native) -> subrip (srt))
    Press [q] to stop, [?] for help
    size=      10kB time=00:27:10.06 bitrate=   0.0kbits/s    
    video:0kB audio:0kB subtitle:4kB other streams:0kB global headers:0kB muxing overhead: 121.594238%

    when I run the command

    ./ffmpeg -i Test.stl Test.srt

    I don’t see any output printed by av_log and it says that the probe score is very less which may lead to mis-detection. That would mean only the extension is being checked.So, either my probe function is not being called or the buffer isn’t being read.
    How do I check whether my probe function is being called or not ?
    Also does the low score warning imply that the function is being called ?