Recherche avancée

Médias (91)

Autres articles (59)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (10366)

  • Why opencv can open video but failed to retrieve frame from it ?

    20 février 2013, par Greper

    I build opencv with ffmpeg support and this is a snippet of my code to read a video and iterate through the frames.

    if (argc != 3) {
       std::cout<<"Usage: exe input_video_filename skip_frames \n"< scores;
    while(true)
    {
       if(!**cap.retrieve(frame)**)
       {
           std::cout<<"error retrieve frame"<code>

    The program succeed to read the video at line cap.open(video_fn) but fail to retrieve frame from VideoCapture at the line if(!cap.retrieve(frame)). I tried with mp4 and avi but it always fails.Does anyone encountered similar problem ? How to solve it ? Many thanks !

  • IContainer.open() fails when using with custom ByteChannel to read from

    13 août 2014, par AnilJ

    I am trying to open an IContainer object which is reading from a custom input buffer rather than reading from a media file. The implementation for this custom input buffer is as below.

    The code to create and open the container is as below.

    // Open up the container for READING
    mInputCStore = new CStore();

    IContainerFormat format = IContainerFormat.make();
    if (format.setInputFormat("flv") < 0) {
       throw new IllegalArgumentException("Failed to initialize the input format");
    }

    // Open up the container
    mInputContainer = IContainer.make();
    int retval = mInputContainer.open(mPlaybackContainerStore, IContainer.Type.READ, format);      
    if (retval < 0) {
       // This little trick converts the non friendly integer return value into  
       // a slightly more friendly object to get a human-readable error name
       IError error = IError.make(retval);
       throw new IllegalArgumentException("could not open input container: " + mPlaybackContainerStore + "; Error: " + error.getDescription());
    }

    The above code throwing an exception saying that —

    Exception in thread "main" java.lang.IllegalArgumentException: could not open input container: com.client.video.ContainerStore@61981853; Error: Operation not permitted

    The same custom buffer when used while writing to the container is working successfully. Can someone pls help me understand what is missing in the custom buffer implementation, as far as using it in READ mode and why the reason it is failing ?

    package test;

    import java.io.IOException;
    import java.nio.ByteBuffer;
    import java.nio.channels.ByteChannel;
    import java.util.concurrent.ConcurrentLinkedQueue;

    public class CStore implements ByteChannel {
       private ConcurrentLinkedQueue<datachunk> mChunkQueue = null;
       private int mQueueSize = 0;

       // constructor
       public CStore(String type) {
           mQueueSize = 0;
           mChunkQueue = new ConcurrentLinkedQueue<datachunk>();
           mChunkQueue.clear();
       }

       @Override
       public void close() throws IOException {
           return;
       }

       @Override
       public boolean isOpen() {
           return false;
       }

       @Override
       public int write(ByteBuffer buffer) throws IOException {
           DataChunk chunk = new DataChunk(buffer);
           mChunkQueue.add(chunk);
           mQueueSize += chunk.getLength();
           return 0;
       }

       public int read(ByteBuffer buffer) throws IOException {

           int result = 0;

           DataChunk chunk = mChunkQueue.poll();
           if (chunk != null) {
               buffer = chunk.getBuffer();
               if (buffer != null) {
                   result = 0;
               } else {
                   result = 1;
               }
           }

           return result;
       }
    }
    </datachunk></datachunk>
  • I had split 420 yuv file to 420_y 420_u 420_v, how to open the three files ?

    1er février 2018, par KentJimmy

    I simplest splite yuv 420 file to three files:y, u, v, by use code :

    int simplest_yuv420_split(char *url, int w, int h,int num){
       FILE *fp=fopen(url,"rb+");  
       FILE *fp1=fopen("output_420_y.y","wb+");  
       FILE *fp2=fopen("output_420_u.y","wb+");  
       FILE *fp3=fopen("output_420_v.y","wb+");  
     
       unsigned char *pic=(unsigned char *)malloc(w*h*3/2);  
     
       for(int i=0;i2,fp);  
           //Y  
           fwrite(pic,1,w*h,fp1);  
           //U  
           fwrite(pic+w*h,1,w*h/4,fp2);  
           //V  
           fwrite(pic+w*h*5/4,1,w*h/4,fp3);  
       }  
     
       free(pic);  
       fclose(fp);  
       fclose(fp1);  
       fclose(fp2);  
       fclose(fp3);  
     
       return 0;  
    }

    I can open the original file by ffplay using commend
    ffplay -f rawvideo -pixel_format yuv420p -video_size 640x360 -i graybar_640x360.yuv

    now I want to open the splited file output_420_y.y

    When I run commend
    ffplay -f rawvideo -pixel_format yuv420p -video_size 256x256 -i output_420_v.y

    show error :
    [rawvideo @ 0x7fab5283ea00] Invalid buffer size, packet size 16384 < expected frame_size 98304

    I know this means the file output_420_v.y is part of original as 1/6.

    anyone can show me how to open this ?

    thanks.