Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (64)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (8098)

  • Revision 0db636619f : Make loopfilter aware of rectangular blocks. Also use explicitely named enum va

    23 avril 2013, par Ronald S. Bultje

    Changed Paths : Modify /vp9/common/vp9_loopfilter.c Make loopfilter aware of rectangular blocks. Also use explicitely named enum values in sb_type comparisons, rather than relying on absolute integer values, because enum values may change in the future. Change-Id : (...)

  • GStreamer with MPEG-TS Video4Linux ATSC/DVB Recording

    21 juin 2013, par Dustin Oprea

    I'm having an impossible time setting up a filtergraph to read from a recording that I made from my DVB video4linux device. Any help would be vastly appreciated.

    How I made the recording :

    To tune the channel :

    azap -c ~/channels.conf "Florida"

    To record the channel :

    cat /dev/dvb/adapter0/dvr0 > /tmp/test

    This is the way that recordings must be made (I can not use any GST DVB plugins to do this for me).

    I used tstools to identify that the recording is a TS stream :

    tstools/bin$ ./stream_type ~/recordings/20130129-202049
    Reading from /home/dustin/recordings/20130129-202049
    It appears to be Transport Stream

    ...but that there are no PAT/PMT frames :

    tstools/bin$ ./tsinfo ~/recordings/20130129-202049
    Reading from /home/dustin/recordings/20130129-202049
    Scanning 10000 TS packets

    Found 0 PAT packets and 0 PMT packets in 10000 TS packets

    I was able to produce a single ES (elementary stream) stream, by running ts2es :

    tstools/bin$ ./ts2es -pid 97 ~/recordings/20130129-202049 ~/recordings/20130129-202049.es
    Reading from /home/dustin/recordings/20130129-202049
    Writing to   /home/dustin/recordings/20130129-202049.es
    Extracting packets for PID 0061 (97)
    !!! 4 bytes ignored at end of file - not enough to make a TS packet
    Extracted 219258 of 248113 TS packets

    I am able to play the ES stream (even though the video is frozen on the first frame) :

    gst-launch-0.10 filesrc location=~/recordings/20130129-202049.es ! decodebin2 ! autovideosink
    gst-launch-0.10 filesrc location=~/recordings/20130129-202049.es ! decodebin2 ! xvimagesink
    gst-launch-0.10 playbin2 uri=file:///home/dustin/recordings/20130129-202049.es

    No matter what I do, though, I can't get the original TS file to open. However, it opens in Mplayer/FFMPEG, perfectly (but not VLC). This is the output of FFMPEG :

    ffmpeg -i 20130129-202049

    ffmpeg version 0.8.5-4:0.8.5-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
     built on Jan 24 2013 18:03:14 with gcc 4.6.3
    *** THIS PROGRAM IS DEPRECATED ***
    This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
    [mpeg2video @ 0x9be7be0] mpeg_decode_postinit() failure
       Last message repeated 4 times
    [mpegts @ 0x9be3aa0] max_analyze_duration reached
    [mpegts @ 0x9be3aa0] PES packet size mismatch
    Input #0, mpegts, from '20130129-202049':
     Duration: 00:03:39.99, start: 9204.168844, bitrate: 1696 kb/s
       Stream #0.0[0x61]: Video: mpeg2video (Main), yuv420p, 528x480 [PAR 40:33 DAR 4:3], 15000 kb/s, 30.57 fps, 29.97 tbr, 90k tbn, 59.94 tbc
       Stream #0.1[0x64]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
    At least one output file must be specified

    This tells us that the video stream has PID 0x61 (97).

    I have been trying for a few days, so the following are only examples of a couple of attempts. I'll provide the playbin2 example first, since I know that thousands of people will respond, insisting that I just use that. It doesn't work.

    gst-launch-0.10 playbin2 uri=file:///home/dustin/recordings/20130129-202049

    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
    Additional debug info:
    gstmpegtsdemux.c(2931): gst_mpegts_demux_sink_event (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMpegTSDemux:mpegtsdemux0:
    No valid streams found at EOS
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Freeing pipeline ...

    It fails [probably] because no PID has been specified with which to find the video (the "EOS" error, I think).

    Naturally, I tried the following to start by demuxing the TS format. I believe it's the "es-pids" property that receives the PID in the absence of PMT information (which tstools said there weren't any, above), but I tried "program-number", too, just in case. gst-inspect indicates that one is hex and the other is decimal :

    gst-launch-0.10 -v filesrc location=20130129-202049 ! mpegtsdemux es-pids=0x61 ! fakesink
    gst-launch-0.10 -v filesrc location=20130129-202049 ! mpegtsdemux program-number=97 ! fakesink

    Output :

    gst-launch-0.10 filesrc location=20130129-202049 ! mpegtsdemux es-pids=0x61 ! fakesink
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
    Additional debug info:
    gstmpegtsdemux.c(2931): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
    No valid streams found at EOS
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Freeing pipeline ...
    dustin@dustinmicro:~/recordings$ gst-launch-0.10 -v filesrc location=20130129-202049 ! mpegtsdemux es-pids=0x61 ! fakesink
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
    Additional debug info:
    gstmpegtsdemux.c(2931): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
    No valid streams found at EOS
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Freeing pipeline ...
    dustin@dustinmicro:~/recordings$ gst-launch-0.10 -v filesrc location=20130129-202049 ! mpegtsdemux es-pids=0x61 ! fakesink
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0: Could not determine type of stream.
    Additional debug info:
    gstmpegtsdemux.c(2931): gst_mpegts_demux_sink_event (): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
    No valid streams found at EOS
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Freeing pipeline ...

    However, when I try mpegpsdemux (for program streams (PS), as opposed to transport streams (TS)), I get further :

    gst-launch-0.10 filesrc location=20130129-202049 ! mpegpsdemux ! fakesink

    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `position != -1' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_mini_object_ref: assertion `mini_object != NULL' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `position != -1' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_mini_object_ref: assertion `mini_object != NULL' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `position != -1' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_mini_object_ref: assertion `mini_object != NULL' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `position != -1' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_mini_object_ref: assertion `mini_object != NULL' failed

    (gst-launch-0.10:14805): GStreamer-CRITICAL **: gst_pad_push_event: assertion `event != NULL' failed


    ...


    Got EOS from element "pipeline0".
    Execution ended after 1654760008 ns.
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...

    I'll still get the same problem whenever I use the mpegtsdemux, even if it follows mpegpsdemux, above.

    I don't understand this, since I haven't even picked a PID yet.

    What am I doing wrong ?

    Dustin

  • Revision b20ce07d76 : WIP : Added sse2 version of vp9_mb_lpf_horizontal_edge_w and vp9_mb_lpf_vertical

    12 janvier 2013, par Scott LaVarnway

    Changed Paths : Modify /vp9/common/x86/vp9_loopfilter_x86.c WIP : Added sse2 version of vp9_mb_lpf_horizontal_edge_w and vp9_mb_lpf_vertical_edge_w_sse2. This was quickly done so we can run some tests over the weekend. Future commits will optimize/refactor these functions further. The decoder (...)