Recherche avancée

Médias (91)

Autres articles (60)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

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

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (3656)

  • FFMPEG compression - Piping vs File [on hold]

    27 avril 2014, par raaj

    Good Day,

    I have written an application that uses the V4L2 driver to capture H264 Raw frames from a C920. The bytes are output into stdout, and can be piped to a file or any program

    What I am trying to do is this :

    ./capture | ffmpeg -f h264 -i - -b 500000 -vcodec copy out.mp4

    The idea is to capture a raw video and convert it to an mp4 file on the fly. It works perfectly, however, the bit rate compression is never applied. It ends up with a file the same size as the raw file (since the camera outputs a compressed h264 file but in raw frames already)

    However, if I was to do this instead

    ./cature > input.raw

    ffmpeg -i out.mp4 -b 500000 output.mp4

    Now, it compresses the file down to a reasonable size. Is there a reason for this ? My only current solution right now is to use an alternative like gstreamer (which has issues with h264) or to figure out the ffmpeg API and see if I can add some code to make it do compression on the frames on the fly.

  • I can't use HW encoder of QSV by ffmpeg

    6 novembre 2017, par Ubunkun

    I would like to use to encode by Intel H/W encode QSV.

    Intel(R) Core(TM) i7-5650U CPU @ 2.20GHz

    lspci -nn -s 0:02.0
    00:02.0 VGA compatible controller [0300] : Intel Corporation Broadwell-U Integrated Graphics [8086:1626] (rev 09)

    I could install MediaServerStudioEssentials2017R2 and ffpemg.

    # vainfo | grep -v 'unknown'
    error: can't connect to X server!
    libva info: VA-API version 0.99.0
    libva info: va_getDriverName() returns 0
    libva info: User requested driver 'iHD'
    libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
    libva info: Found init function __vaDriverInit_0_32
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 0.99 (libva 1.67.0.pre1)
    vainfo: Driver version: 16.5.1.59511-ubit
    vainfo: Supported profile and entrypoints
         VAProfileH264ConstrainedBaseline: VAEntrypointVLD
         VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
         VAProfileH264Main               : VAEntrypointVLD
         VAProfileH264Main               : VAEntrypointEncSlice
         VAProfileH264High               : VAEntrypointVLD
         VAProfileH264High               : VAEntrypointEncSlice
         VAProfileMPEG2Simple            : VAEntrypointEncSlice
         VAProfileMPEG2Simple            : VAEntrypointVLD
         VAProfileMPEG2Main              : VAEntrypointEncSlice
         VAProfileMPEG2Main              : VAEntrypointVLD
         VAProfileVC1Advanced            : VAEntrypointVLD
         VAProfileVC1Main                : VAEntrypointVLD
         VAProfileVC1Simple              : VAEntrypointVLD
         VAProfileJPEGBaseline           : VAEntrypointVLD
         VAProfileJPEGBaseline           : VAEntrypointEncPicture
         VAProfileVP8Version0_3          : VAEntrypointEncSlice
         VAProfileVP8Version0_3          : VAEntrypointVLD
         VAProfileNone                   : VAEntrypointVideoProc

    and

    # ffmpeg -codecs | grep qsv
    ffmpeg version N-86584-g4976a34 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
     configuration: --enable-libmfx
     libavutil      55. 66.100 / 55. 66.100
     libavcodec     57. 99.100 / 57. 99.100
     libavformat    57. 73.100 / 57. 73.100
     libavdevice    57.  7.100 / 57.  7.100
     libavfilter     6. 94.100 /  6. 94.100
     libswscale      4.  7.101 /  4.  7.101
     libswresample   2.  8.100 /  2.  8.100
    DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv h264_cuvid ) (encoders: h264_nvenc h264_qsv h264_vaapi nvenc nvenc_h264 )
    DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv hevc_cuvid ) (encoders: nvenc_hevc hevc_nvenc hevc_qsv hevc_vaapi )
    DEV.L. mpeg2video           MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_qsv mpeg2_cuvid ) (encoders: mpeg2video mpeg2_qsv mpeg2_vaapi )
    D.V.L. vc1                  SMPTE VC-1 (decoders: vc1 vc1_qsv vc1_cuvid )
    DEV.L. vp8                  On2 VP8 (decoders: vp8 vp8_cuvid vp8_qsv ) (encoders: vp8_vaapi )

    But, I tried to encode as below.

    # ffmpeg -i test.avi -c:v h264_qsv -b:v 2000k -r 30 -s 720x480 -acodec copy -look_ahead 0 qsv.mp4
    ・・・
    [h264_qsv @ 0x3139f40] No device available for encoder (device type qsv for codec h264_qsv).
    [h264_qsv @ 0x3139f40] Encoder will work with partial HW acceleration
    [h264_qsv @ 0x3139f40] Warning in encoder initialization: partial acceleration (4)
    ・・・

    It seems like that the encoding is using by software. It’s slow.
    How can I do by H/W encode ? If you know it, let me know it.

    Bests,

  • How to send RTP stream to Janus from NGINX RTMP module ? [closed]

    25 novembre 2024, par Matéo

    I'm trying to create a stream and display it in a browser. I have already configured NGINX with the rtmp module and my stream works very well with HLS (between 5 and 10 seconds of latency).

    


    Now I would like to set up a low-latency stream and that's why I have installed the janus-gateway webRTC server that allows to take in input an RTP stream and provide in output a webRTC stream.

    


    Here's the schema I'd like to follow :

    


    OBS -> RTMP -> Nginx-rtmp-module -> ffmpeg -> RTP -> Janus -> webRTC -> Browser

    


    But I have a problem with this part : "nginx-rtmp-module -> ffmpeg -> janus"

    


    In fact, my janus's server is running and demos streaming works very well in localhost, but when i try to provide an RTP stream, Janus don't detect the stream in the demos (it shows "No remote video available").

    


    Anyone can help me, please ?

    


    Ressources :

    


      

    • My janus.plugin.streaming.jcfg configuration :
    • 


    


    rtp-sample: {
        type = "rtp"
        id = 1
        description = "Opus/VP8 live stream coming from external source"
        metadata = "You can use this metadata section to put any info you want!"
        audio = true
        video = true
        audioport = 5002
        audiopt = 111
        audiortpmap = "opus/48000/2"
        videoport = 5004
        videopt = 100
        videortpmap = "VP8/90000"
        secret = "adminpwd"
}



    


      

    • My nginx.conf application :
    • 


    


    application test {

        deny play all;

        live on;
        on_publish http://localhost/test/backend/sec/live_auth.php;

        exec ffmpeg -i rtmp://localhost/test/$name -an -c:v copy -flags global_header -bsf dump_extra -f rtp rtp://localhost:5004;

}