Recherche avancée

Médias (0)

Mot : - Tags -/performance

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (87)

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

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

  • swscale : more accurate DITHER_COPY macro for full and limited range

    6 octobre 2017, par Mateusz
    swscale : more accurate DITHER_COPY macro for full and limited range
    

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libswscale/swscale_unscaled.c
    • [DH] tests/ref/vsynth/vsynth1-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth2-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth3-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth_lena-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p12
  • Sound in videos is full of static

    15 octobre 2017, par Shawn Blakesley

    I’m trying to play sound from an FFMpegFrameGrabber by getting the Frame and sending the audio samples to a SourceDataLine. Here’s what I have so far :

    Creating the SourceDataLine :

    int channels = _grabber.getAudioChannels();
    int format = _grabber.getSampleFormat();
    AudioFormat fmt = new AudioFormat(_grabber.getSampleRate(), format, channels, true, true);
    _sourceDataLine=(SourceDataLine)AudioSystem.getLine(new DataLine.Info(SourceDataLine.class, fmt));
    _sourceDataLine.open(fmt);
    _sourceDataLine.start();

    Attempting to play sound (images are handled in the else block) :

    org.bytedeco.javacv.Frame f = _grabber.grabFrame();

    if (f.samples != null &amp;&amp; f.samples.length > 0)
    {
       byte[] bytes = new byte[4096];
       for (Buffer buffer : f.samples)
       {
           FloatBuffer floatBuffer = (FloatBuffer) buffer;
           ByteBuffer byteBuffer = ByteBuffer.allocate(floatBuffer.capacity() * 4);
           byteBuffer.asFloatBuffer().put(floatBuffer);
           byteBuffer.rewind();
           byteBuffer.get(bytes);
           _sourceDataLine.write(bytes, 0, bytes.length);
       }
    }

    (Note : I tried a few different versions of this and they all have static. The versions I tried included combining the buffers into one large buffer, only trying to play one sample instead of each channel, and changing the audio format to many different permutations.)

    The problem is the sound is full of static, and almost completely unintelligible. This is my first time doing any audio programming, so I’m sure I’m doing something completely ridiculous.

    I appreciate any help. Thank you.

    EDIT

    In response to Radiodef, I tried a number of AudioFormats, and I couldn’t find one that worked for PCM_FLOAT. I found an example that used this :

    fmt = new AudioFormat(AudioFormat.Encoding.PCM_FLOAT, _grabber.getSampleRate(), format, channels, channels, _grabber.getSampleRate(), true);

    Note : I tried a few different values for the framesize from examples : channels * format / 8, channels * 8 with a hardcoded samplerate of 64, channels * 4 with a hardcoded samplerate of 32, and any combinations of those

    But it give me this exception :

    java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_FLOAT 44100.0 Hz, 8 bit, stereo, 2 bytes/frame,  is supported.
       at javax.sound.sampled.AudioSystem.getLine(Unknown Source)
       at com.enplug.player.video.Video.<init>(Video.java:52) &lt;- where I get the SourceDataLine
       ...
    </init>

    EDIT 2

    Sorry for the delay. I appreciate all the help Radiodef.

    Here is some output from the FFMpegGrabber that is automatically output.

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Shawn\AppData\Roaming\Enplug Display\Download\Resource\c7cb496d-96ea-4be8-a238-5ffd50955a3e.mp4':
     Metadata:
       major_brand     : qt
       minor_version   : 0
       compatible_brands: qt
       creation_time   : 2014-10-02 07:14:38
     Duration: 00:00:31.13, start: 0.000000, bitrate: 2412 kb/s
       Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 246 kb/s (default)
       Metadata:
         creation_time   : 2014-10-02 07:14:38
         handler_name    : Core Media Data Handler
       Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 2157 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
       Metadata:
         creation_time   : 2014-10-02 07:14:38
         handler_name    : Core Media Data Handler
         encoder         : H.264

    I have two videos I’m testing with, and the first one (which is the one in the example above) has the following :

    Bit rate: 247 kbps
    Channels: 2 (stereo)
    Audio sample rate: 44 kHz

    And the second is :

    Bit rate: 161 kbps
    Channels: 2 (stereo)
    Audio sample rate: 48 kHz

    They’re both mp4s, and I can provide any details about the video itself if needed.

    As for the library, yeah I’m pretty locked into JavaCV. We already have videos running without sound, but we’re now trying to add sound to our program.

    When I run the sample program from your JSR link I get :

    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
  • Encoding of two full hd streams in Linux + GPU with Intel HD4000 / VA API / FFMPEG / OpenGL

    27 juin 2017, par qknight

    i want to encode/stream two full hd streams in realtime from my laptop to a remote location using linux/xorg on the host.

    VA API

    for this i’ve been playing with the VA API but the performance is pretty bad with 5.59 fps (see paste below).

    FFMPEG

    using ffmpeg with CPU encoding i get about 200 fps but then all cores of my Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz are busy and the fan turns on.

    future plans

    i want GPU support in encoding and later integrate this into a program which streams a virtual xorg ’screen’, see https://lastlog.de/wiki/index.php/Raspberry_PI_virtual_screen for more details on my plans.

    maybe h264 isn’t even what i want ? so if someone advices towards a different implementation, i’d welcome that.

    besides VA API there seems to be QuickSync but i didn’t experiment with that yet as it is not packaged on NixOS just yet.

    note : i need a library to have a smooth integration into the code.

    h264encode -w 1920 -h 1080 —profile MPSource frame is 1920x1080 and will code clip to 1920x1088 with crop
    

    INPUT:Try to encode H264...
    INPUT : Resolution : 1920x1080, 60 frames
    INPUT : FrameRate : 30
    INPUT : Bitrate : 14929920
    INPUT : Slieces : 1
    INPUT : IntraPeriod : 30
    INPUT : IDRPeriod : 60
    INPUT : IpPeriod : 1
    INPUT : Initial QP : 26
    INPUT : Min QP : 0
    INPUT : Source YUV : AUTO generated
    INPUT : Coded Clip : /tmp/test.264
    INPUT : Rec Clip : Not save reconstructed frame

    libva info : VA-API version 0.38.1
    libva info : va_getDriverName() returns 0
    libva info : Trying to open /run/opengl-driver/lib/dri/i965_drv_video.so
    libva info : Found init function __vaDriverInit_0_38
    libva info : va_openDriver() returns 0
    Use profile VAProfileH264Main
    Support rate control mode (0x12):CBR CQP
    RateControl mode : CQP
    Support VAConfigAttribEncPackedHeaders
    Support packed sequence headers
    Support packed picture headers
    Support packed slice headers
    Support packed misc headers
    Support 1 RefPicList0 and 1 RefPicList1
    Loading data into surface 15.....Complete surface loading
    \00000059(054456 bytes coded)

    PERFORMANCE : Frame Rate : 5.59 fps (60 frames, 10730 ms (178.83 ms per frame))
    PERFORMANCE : Compression ratio : 51:1
    PERFORMANCE : UploadPicture : 10467 ms (174.45, 97.55% percent)
    PERFORMANCE : vaBeginPicture : 0 ms (0.00, 0.00% percent)
    PERFORMANCE : vaRenderHeader : 1 ms (0.02, 0.01% percent)
    PERFORMANCE : vaEndPicture : 42 ms (0.70, 0.39% percent)
    PERFORMANCE : vaSyncSurface : 244 ms (4.07, 2.27% percent)
    PERFORMANCE : SavePicture : 7 ms (0.12, 0.07% percent)
    PERFORMANCE : Others : -31 ms (71582787.75, 40027653.91% percent)
    (Multithread enabled, the timing is only for reference)

    i’ve seen https://www.reddit.com/r/linux/comments/1qk1yu/is_there_currently_opensource_software_to_encode/ though but i’m not sure what do do with it.