Recherche avancée

Médias (91)

Autres articles (6)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

Sur d’autres sites (3824)

  • Revision d435148fe6 : Enable adaptive motion search for ARF coding This commit turns on adaptive moti

    5 septembre 2014, par Jingning Han

    Changed Paths :
     Modify /vp9/encoder/vp9_rd.c


     Modify /vp9/encoder/vp9_rdopt.c



    Enable adaptive motion search for ARF coding

    This commit turns on adaptive motion search for ARF coding, in
    addition to other normal inter frame coding. It improves the
    average compression efficiency :

    stdhd 0.1%
    derf 0.04%

    For the test sequences, the speed 3 runtime is reduced :

    pedestrian 1080p 2000 kbps, 149932 ms -> 144580 ms, (3.3% speed-up)
    bus CIF 1000 kbps, 8050 ms -> 7895 ms, (1.9%)
    highway CIF 100 bkps, 45033 ms -> 44078 ms, (2.2%)

    Change-Id : I5228565b609f99e8ae04f6140a2bf2b64a831d21

  • Revision 56fa3ab886 : Use non-zero mode threshold for NEARESTMV modes This commit makes the encoder t

    16 septembre 2014, par Jingning Han

    Changed Paths :
     Modify /vp9/encoder/vp9_rd.c



    Use non-zero mode threshold for NEARESTMV modes

    This commit makes the encoder to use non-zero mode threshold for
    NEARESTMV modes. The runtime for test clips of speed 3 is reduced
    by about 1%.

    pedestrian 1080p 2000 kbps, 143239 ms -> 141989 ms
    bus CIF 1000 kbps, 7835 ms -> 7749 ms

    The compression performance change is about -0.02% for both derf
    and stdhd.

    Change-Id : Ib71808922c41ae2997100cb7c561f68dcebfa08e

  • Xuggler Encoding video of Desktop With Audio - audio has gaps

    2 novembre 2012, par Chris

    I am using Xuggler to convert images captured from the java Robot class and sound read from TargetDataLine class and encoding this into a video. I am then attempting to http stream this video data (after writing my header) to a flash client via http (Socket OutputStream) but it plays and stutters (never just playing smoothly) no matter what buffer value I use on the client side.

    I am asking for help and showing my java code because I suspect it might be to do with how I am encoding the video or something about sending data via http socket which i am not getting..

    ByteArrayURLHandler ba = new ByteArrayURLHandler();
    final IRational FRAME_RATE = IRational.make(30);
    final int SECONDS_TO_RUN_FOR = 20;
    final Robot robot = new Robot();
    final Toolkit toolkit = Toolkit.getDefaultToolkit();
    final Rectangle screenBounds = new Rectangle(toolkit.getScreenSize());
    IMediaWriter writer;

    writer = ToolFactory.makeWriter(
       XugglerIO.map(
           XugglerIO.generateUniqueName(out, ".flv"),
           out
       ));

    writer.addListener(new MediaListenerAdapter() {
       public void onAddStream(IAddStreamEvent event) {
           event.getSource().getContainer().setInputBufferLength(1000);
           IStreamCoder coder = event.getSource().getContainer().getStream(event.getStreamIndex()).getStreamCoder();
           if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_AUDIO) {
               coder.setFlag(IStreamCoder.Flags.FLAG_QSCALE, false);  
               coder.setBitRate(32000);
               System.out.println("onaddstream"+ coder.getPropertyNames().toString());
           }
           if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
               // coder.setBitRate(64000);
               // coder.setBitRateTolerance(64000);
           }
       }
    });

    writer.addVideoStream(videoStreamIndex, videoStreamId, 1024, 768);
    final int channelCount = 1;      

    int audionumber =   writer.addAudioStream(audioStreamIndex, audioStreamId,1, 44100);
    int bufferSize = (int)audioFormat.getSampleRate()   *audioFormat.getFrameSize();//*6;///6;
    byte[] audioBuf;// = new byte[bufferSize];

    int i = 0;

    final int audioStreamIndex = 1;
    final int audioStreamId = 1;
    BufferedImage screen, bgrScreen;
    long startTime = System.nanoTime();
    while(keepGoing)
    {

       audioBuf = new byte[bufferSize];
       i++;

       screen = robot.createScreenCapture(screenBounds);

       bgrScreen = convertToType(screen, BufferedImage.TYPE_3BYTE_BGR);
       long nanoTs = System.nanoTime()-startTime;
       writer.encodeVideo(0, bgrScreen, nanoTs, TimeUnit.NANOSECONDS);
       audioBuf = new byte[line.available()];
       int nBytesRead = line.read(audioBuf, 0, audioBuf.length);

       IBuffer iBuf = IBuffer.make(null, audioBuf, 0, nBytesRead);

       IAudioSamples smp = IAudioSamples.make(iBuf,1,IAudioSamples.Format.FMT_S16);
       if (smp == null) {
           return;
       }

       long numSample = audioBuf.length / smp.getSampleSize();

       smp.setComplete(true, numSample,(int)
       audioFormat.getSampleRate(), audioFormat.getChannels(),
       IAudioSamples.Format.FMT_S16, nanoTs/1000);

       writer.encodeAudio(1, smp);

       writer.flush();
    }