Recherche avancée

Médias (91)

Autres articles (59)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, 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 (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (8331)

  • Display video data to screen

    23 septembre 2014, par user3215358

    I’m trying to decode h264 video using HW with Stagefright library and render it.

    I want to display data to screen with SDL.

    I’m getting video data to MediaBuffer. For non H/W decoding video displays well by using FFMpeg library. Here is piece of rendering code.

    while (av_read_frame(pFormatCtx, &packet) >= 0)
    {
       // Is this a packet from the video stream?
       if (packet.stream_index == videoStream)
       {
           avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);

           if (frameFinished)
           {

               SDL_UpdateYUVTexture(bmp, NULL, pFrame->data[0],
                                               pFrame->linesize[0],
                                               pFrame->data[1],
                                               pFrame->linesize[1],
                                               pFrame->data[2],
                                               pFrame->linesize[2]);


               rect.x = 0;
               rect.y = 0;
               rect.w = pCodecCtx->width;
               rect.h = pCodecCtx->height;

               SDL_SetRenderDrawColor(renderer, 0, 80, 0, 255);
               SDL_RenderClear(renderer);
               SDL_RenderCopy(renderer, bmp, NULL, &rect);
               SDL_RenderPresent(renderer);
           }
       }

    But when i’m using H/W accelerated decoding, what I should use in SDL_UpdateYUVTexture(bmp, NULL,....) function.

    And Here is piece of H/W accelerated decoding.

    while (err != ERROR_END_OF_STREAM )
    {

       MediaBuffer *mVideoBuffer;
       MediaSource::ReadOptions options;
       err = mVideoDecoder->read(&mVideoBuffer, &options);

       if (err == OK) {
           if (mVideoBuffer->range_length() > 0)
           {
               //SDL_UpdateYUVTexture(bmp, NULL,...);

               rect.x = 0;
               rect.y = 0;
               rect.w = 640;
               rect.h = 480;

               SDL_SetRenderDrawColor(renderer, 0, 80, 0, 255);
               SDL_RenderClear(renderer);
               SDL_RenderCopy(renderer, bmp, NULL, &rect);
               SDL_RenderPresent(renderer);

           }
           mVideoBuffer->release();
       }
    }

    How i should use SDL_UpdateYUVTexture(bmp, NULL,...) function ?

  • +Note re : correct MIME type for SVG, otherwise browsers don't display them.

    2 septembre 2014, par scottschiller
    +Note re : correct MIME type for SVG, otherwise browsers don’t display them.
  • How to Save and Display a Video Simultaneously using C# Aforge.NET framework ?

    8 avril 2014, par Akshay

    I am able to display the video from my webcam or any other integrated device into a picturebox . Also i am able to Save the video into an avi file using FFMPEG DLL files.
    I want to do both things simultaneously ie Save the video in the avi file as well as at the same time display the live feed too.
    This is for a surveillance project where i want to monitor the live feed and save those too.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using AForge.Video;
    using AForge.Video.DirectShow;
    using AForge.Video.FFMPEG;
    using AForge.Video.VFW;
    using System.Drawing.Imaging;
    using System.IO;

    namespace cam_aforge1
    {
    public partial class Form1 : Form
    {
       private bool DeviceExist = false;
       private FilterInfoCollection videoDevices;
       private VideoCaptureDevice videoSource = null;

       public Form1()
       {
           InitializeComponent();
       }

       private void getCamList()
       {
           try
           {
               videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
               comboBox1.Items.Clear();
               if (videoDevices.Count == 0)
                   throw new ApplicationException();

               DeviceExist = true;
               foreach (FilterInfo device in videoDevices)
               {
                   comboBox1.Items.Add(device.Name);
               }
               comboBox1.SelectedIndex = 0; //make dafault to first cam
           }
           catch (ApplicationException)
           {
               DeviceExist = false;
               comboBox1.Items.Add("No capture device on your system");
           }
       }

       private void rfsh_Click(object sender, EventArgs e)
       {
           getCamList();
       }

       private void start_Click(object sender, EventArgs e)
       {
           if (start.Text == "&Start")
           {
               if (DeviceExist)
               {
                   videoSource = new VideoCaptureDevice(videoDevices[comboBox1.SelectedIndex].MonikerString);
                   videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
                   videoSource.NewFrame += new NewFrameEventHandler(video_NewFrameSave);
                   CloseVideoSource();
                   videoSource.DesiredFrameSize = new Size(160, 120);
                   //videoSource.DesiredFrameRate = 10;
                   videoSource.Start();
                   label2.Text = "Device running...";
                   start.Text = "&Stop";
                   timer1.Enabled = true;
               }
               else
               {
                   label2.Text = "Error: No Device selected.";
               }
           }
           else
           {
               if (videoSource.IsRunning)
               {
                   timer1.Enabled = false;
                   CloseVideoSource();
                   label2.Text = "Device stopped.";
                   start.Text = "&Start";                    
               }
           }
       }
       private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
       {
           Bitmap img = (Bitmap)eventArgs.Frame.Clone();
           pictureBox1.Image = img;
       }

       Bitmap imgsave;
       private void video_NewFrameSave(object sender, NewFrameEventArgs eventArgs)
       {
           imgsave = (Bitmap)eventArgs.Frame.Clone();
       }

       private void CloseVideoSource()
       {
           if (!(videoSource == null))
               if (videoSource.IsRunning)
               {
                   videoSource.SignalToStop();
                   videoSource = null;
               }
       }

       private void timer1_Tick(object sender, EventArgs e)
       {
           label2.Text = "Device running... " + videoSource.FramesReceived.ToString() + " FPS";
       }

       private void Form1_FormClosed(object sender, FormClosedEventArgs e)
       {
           CloseVideoSource();
       }

       private void Form1_Load(object sender, EventArgs e)
       {

       }

       VideoFileWriter writer;

       private void button1_Click(object sender, EventArgs e)
       {
           int width = 640;
           int height = 480;
           writer = new VideoFileWriter();
           writer.Open("test.avi", width, height, 75, VideoCodec.MPEG4);
           for (int i = 0; i < 5000; i++)
           {
               writer.WriteVideoFrame(imgsave);
           }

       }

       private void button2_Click(object sender, EventArgs e)
       {
           writer.Close();
       }

    }
    }

    Thanks in advance.