Recherche avancée

Médias (91)

Autres articles (66)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

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

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (12042)

  • Internecine Legal Threats

    1er juin 2011, par Multimedia Mike — Legal/Ethical

    FFmpeg and associated open source multimedia projects such as xine, MPlayer, and VLC have long had a rebel mystique about them ; a bunch of hackers playing fast and loose with IP law in order to give the world the free multimedia experience it deserved. We figured out the algorithms using any tools available, including the feared technique of binary reverse engineering. When I gave a presentation about FFmpeg at Linuxtag in 2007, I created this image illustrating said mystique :



    It garnered laughs. But I made the point that we multimedia hackers just press on, doing our thing while ignoring legal threats. The policy has historically worked out famously for us– to date, I seem to be the only person on the receiving end of a sort-of legal threat from the outside world.

    Who would have thought that the most credible legal threat to an open source multimedia project would emanate from a fork of that very project ? Because that’s exactly what has transpired :



    Click for full threat

    So it came to pass that Michael Niedermayer — the leader of the FFmpeg project — received a bona fide legal nastygram from Mans Rullgard, a representative of the FFmpeg-forked Libav project. The subject of dispute is a scorched-earth matter involving the somewhat iconic FFmpeg zigzag logo :

     
    Original 2D logo enhanced 3D logo

    To think of all those years we spent worrying about legal threats from organizations outside the community. I’m reminded of that time-honored horror trope/urban legend staple : Get out ! The legal threats are coming from inside the house !

    I’m interested to see how this all plays out, particularly regarding jurisdiction, as we have a U.K. resident engaging an Italian lawyer outfit to deliver a legal threat to an Austrian citizen regarding an image hosted on a server in Hungary. I suspect I know why that law firm was chosen, but it’s still a curious jurisdictional setup.

    People often used to ask me if we multimedia hackers would get sued to death for doing what we do. My response was always, “There’s only one way to know for sure,” by which I meant that we would just have to engage in said shady activities and determine empirically if lawsuits resulted. So I’m a strong advocate for experimentation to push the limits. Kudos to Michael and Mans for volunteering to push the legal limits.

  • FFmpeg library : modified muxing sample for FLTP input and FLTP audio, loses audio

    21 janvier 2014, par taansari

    Based on muxing sample that comes with FFmpeg docs, I have modified it, from input format as S16 to FLTP (planar stereo), and outputting to webm format (stereo).

    Since input is now FLTP, I am filling two arrays, then encoding again to FLTP. There are no obvious errors given on screen, but the resulting webm video does not play any audio (just the video content). This is just proof of concept in understanding things ; here is an added (crude) function to fill up input FLTP stereo buffer :

    static void get_audio_frame_for_planar_stereo(int16_t **samples, int frame_size, int nb_channels)
    {
       int j, i, v[2];
       int16_t *q1 = (int16_t *) samples[0];
       int16_t *q2 = (int16_t *) samples[1];

       for (j = 0; j < frame_size; j++)
       {
           v[0] = (int)(sin(t) * 10000);
           v[1] = (int)(tan(t) * 10000);
           *q1++ = v[0];
           *q2++ = v[1];
           t     += tincr;
           tincr += tincr2;
       }
    }

    Which I am calling from inside write_audio_frame() function.

    Note also, wherever code reffered AV_SAMPLE_FMT_S16 as input, I have changed to AV_SAMPLE_FMT_FLTP.

    Whole workable source is here :

    https://gist.github.com/anonymous/05d1d7662e9feafc45a6

    When run with ffprobe.exe, with these instructions :

    ffprobe -show_packets output.webm >output.txt

    I see nothing out of ordinary, all pts/dts values appear to be in place :

    https://gist.github.com/anonymous/3ed0d6308700ab991704

    Could someone highlight cause of this mis-interpretation ?

    Thanks for your time...

    p.s. I am using Zeranoe FFmpeg Windows builds (32 bit), built on Jan 9 2014 22:04:35 with gcc 4.8.2.(GCC)

    Edit : Based on your guidance elsewhere, I tried the following :

       /* set options */
       //av_opt_set_int       (swr_ctx, "in_channel_count",   c->channels,       0);
       //av_opt_set_int       (swr_ctx, "in_sample_rate",     c->sample_rate,    0);
       //av_opt_set_sample_fmt(swr_ctx, "in_sample_fmt",      AV_SAMPLE_FMT_FLTP, 0);
       //av_opt_set_int       (swr_ctx, "out_channel_count",  c->channels,       0);
       //av_opt_set_int       (swr_ctx, "out_sample_rate",    c->sample_rate,    0);
       //av_opt_set_sample_fmt(swr_ctx, "out_sample_fmt",     c->sample_fmt,     0);

       av_opt_set_int(swr_ctx, "in_channel_layout",    AV_CH_LAYOUT_STEREO, 0);
       av_opt_set_int(swr_ctx, "in_sample_rate",       c->sample_rate, 0);
       av_opt_set_sample_fmt(swr_ctx, "in_sample_fmt", AV_SAMPLE_FMT_FLTP, 0);

       av_opt_set_int(swr_ctx, "out_channel_layout",    AV_CH_LAYOUT_STEREO, 0);
       av_opt_set_int(swr_ctx, "out_sample_rate",       c->sample_rate, 0);
       av_opt_set_sample_fmt(swr_ctx, "out_sample_fmt", AV_SAMPLE_FMT_FLTP, 0);

    And the revised function :

    static void get_audio_frame_for_planar_stereo(uint8_t **samples, int frame_size, int nb_channels)
    {
       int j, i;
       float v[2];
       float *q1 = (float *) samples[0];
       float *q2 = (float *) samples[1];

       for (j = 0; j < frame_size; j++)
       {
           v[0] = (tan(t) * 1);
           v[1] = (sin(t) * 1);
           *q1++ = v[0];
           *q2++ = v[1];
           t     += tincr;
           tincr += tincr2;
       }
    }

    Now it appears to be working properly. I tried changing function parameters from uint8_t** to float**, as well as src_samples_data from uint8_t** to float**, but did not make any difference, in a view.

    Updated code : https://gist.github.com/anonymous/35371b2c106961029c3d

    Thanks for highlighting the place(s) that result in this behavior !

  • Displaying progress while working on FFMpegConverter ?

    1er novembre 2017, par GreenRoof

    During a part of my project, I should download video data and audio data of a youtube link and merge them using NReco.VideoConverter. So this here is my code :

    public class Download {
       public NReco.VideoConverter.FFMpegConverter ffMpeg;
       public BackgroundWorker bgWorker;

       public Download (BackgroundWorker bgWorker) {
           this.BgWorker = BgWorker;
           var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
           ffMpeg.ConvertProgress += (s, e) => ReportProgress(Convert.ToInt64(e.Processed.TotalSeconds), Convert.ToInt64(e.TotalDuration.TotalSeconds));
       }

       public MergeData() {
           // Video data and Audio data are downloaded to tempVidPath and tempAudPath.
           ffMpeg.Invoke(String.Format("-i \"{0}\" -i \"{1}\" -y -c copy \"{2}\"", tempVidPath, tempAudPath, targetPath));
       }

       public ReportProgress(long part, long total) {
           bgWorker.ReportProgress(0, new string[] {part.ToString(), total.ToString()});
       }
    }

    public partial class App : Form {
       //**omit
       public void Execution() {
           bgWorker = new BackgroundWorker(); // bgWorker is already defined in Designer class.
           bgWorker.WorkerReportsProgress = true;

           Download Dnld = new Download(bgWorker);

           bgWorker.ProgressChanged += (s, e) => {
               string[] arr = ((System.Collections.IEnumerable)e.UserState).Cast().Select(x => x.ToString()).ToArray();
               progBar.Maximum = Int64.Parse(arr[1]);
               progBar.Value = Int64.Parse(arr[0]);
           };

           bgWorker.DoWork += (s, e) => {
               Dnld.MergeData()
           }

       }
    }

    Here, I have no idea how to keep progBar to track the merging process while two files are being merged. Is there any method like WebClinet.DownloadFileAsync so I can get progress data from the thread ?

    ** I didn’t write unnecessary codes so codes may complicated and inefficient. But there are much more codes so please understand that problems. :)