Recherche avancée

Médias (0)

Mot : - Tags -/formulaire

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

Autres articles (27)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (4342)

  • avformat/vobsub : fix several issues.

    29 septembre 2013, par Clément Bœsch
    avformat/vobsub : fix several issues.
    

    Here is an extract of fate-samples/sub/vobsub.idx, with an additional
    text at the end of each line to better identify each bitmap :

    timestamp : 00:04:55:445, filepos : 00001b000 Ace !
    timestamp : 00:05:00:049, filepos : 00001b800 Wake up, honey !
    timestamp : 00:05:02:018, filepos : 00001c800 I gotta go to work.
    timestamp : 00:05:02:035, filepos : 00001d000 < ???>
    timestamp : 00:05:04:203, filepos : 00001d800 Look after Clayton, okay ?
    timestamp : 00:05:05:947, filepos : 00001e800 I’ll be back tonight.
    timestamp : 00:05:07:957, filepos : 00001f800 Bye ! Love you.
    timestamp : 00:05:21:295, filepos : 000020800 Hey, Ace ! What’s up ?
    timestamp : 00:05:23:356, filepos : 000021800 Hey, how’s it going ?
    timestamp : 00:05:24:640, filepos : 000022800 Remember what today is ? The 3rd !
    timestamp : 00:05:27:193, filepos : 000023800 Look over there !
    timestamp : 00:05:28:369, filepos : 000024800 Where are they going ?
    timestamp : 00:05:28:361, filepos : 000025000 < ???>
    timestamp : 00:05:29:946, filepos : 000025800 Let’s go see.
    timestamp : 00:05:31:230, filepos : 000026000 I can’t, man. I got Clayton.

    Note the two "< ???>" : they are basically split subtitles (with the
    previous one), which the dvdsub decoder is now supposed to reconstruct
    with a previous commit. But also note that while the first chunk has
    increasing timestamps,

    timestamp : 00:05:02:018, filepos : 00001c800
    timestamp : 00:05:02:035, filepos : 00001d000

    ...it’s not the case of the second one (and this is not an exception in the
    original file) :

    timestamp : 00:05:28:369, filepos : 000024800
    timestamp : 00:05:28:361, filepos : 000025000

    For the dvdsub decoder, they need to be "filepos’ed" ordered, but the
    FFDemuxSubtitlesQueue is timestamps ordered, which is the reason of the
    introduction of a sub sort method in the context, to allow giving
    priority to the position, and then the timestamps. With that change, the
    dvdsub decoder get fed with ordered packets.

    Now the packet size estimation was also broken : the filepos differences
    in the vobsub index defines the full data read between two subtitles
    chunks, and it is necessary to take into account what is read by the
    mpegps_read_pes_header() function since the length returned by that
    function doesn’t count the size of the data it reads. This is fixed with
    the introduction of total_read, and old,new_pos. By doing this change,
    we can drop the unreliable len16 heuristic and simplify the whole loop.
    Note that mpegps_read_pes_header() often read more than one PES packet
    (typically in one call it can read 0x1ba and 0x1be chunk along with the
    relevant 0x1bd packet), which triggers the "total_read + pkt_size >
    psize" check. This is an expected behaviour, which could be avoided by
    having a more chunked version of mpegps_read_pes_header().

    The latest change is the extraction of each stream into its own
    subtitles queue. If we don’t do this, the maximum size for a subtitle
    chunk is broken, and the previous changes can not work. Having each
    stream in a different queue requires some little adjustments in the
    seek code of the demuxer.

    This commit is only meaningful as a whole change and can not be easily
    split. The FATE test changes because it uses the vobsub demuxer.

    • [DH] libavformat/mpeg.c
    • [DH] libavformat/subtitles.c
    • [DH] libavformat/subtitles.h
    • [DH] tests/ref/fate/sub2video
  • Revision 5ebe94f9f1 : Build fixes to merge vp9-preview into master Various fixups to resolve issues w

    23 décembre 2012, par John Koleszar

    Changed Paths : Add /examples/decode_with_partial_drops.txt Modify /libs.mk Modify /test/test.mk Modify /test/test_libvpx.cc Modify /vp9/common/generic/vp9_systemdependent.c Modify /vp9/common/vp9_alloccommon.c Modify /vp9/common/vp9_blockd.h (...)

  • Memory issues when using ffmpeg and gloss to play videos

    21 décembre 2015, par Noughtmare

    I’m trying to make a video player with haskell using ffmpeg-light, JuicyPixels and gloss. I’m now able to play video, but frames that have been played stay in memory. This causes major memory issues. How can I avoid storing all the frames in memory ?

    Here is my code :

    {-# LANGUAGE FlexibleContexts #-}
    module Main where

    -- For my own code:
    import Graphics.Gloss
    import Codec.FFmpeg
    import Codec.FFmpeg.Juicy
    import Codec.Picture
    import Control.Applicative
    import Data.Maybe
    import Graphics.Gloss.Juicy
    import Control.Monad (when, join)
    import Codec.FFmpeg.Decode
    import Codec.FFmpeg.Enums
    import Control.Monad.Error.Class
    import Control.Arrow (first)
    import Control.Monad.Except (runExceptT)
    import Graphics.Gloss.Interface.IO.Animate
    import Data.IORef

    -- Temporary hardcoded resolution
    resolution :: (Int,Int)
    resolution = (640, 360)

    main :: IO ()
    main = do
       -- First initialize ffmpeg, this needs to be run before other ffmpeg functions
       initFFmpeg
       -- Open the samplevideo for reading. video :: IO (IO (Maybe (AVFrame, Double)), IO ())
       video &lt;- runExceptT $ frameReaderTime' avPixFmtRgb24 "SampleVideo_640x360_1mb.flv"
       either
             -- This code gets called when the frameReader reports an error
             (const $ putStrLn "Can't read file")
             -- This opens a new window and plays the video in it on a white background
             (animateFixedIO (InWindow "Nice Window" resolution (10, 10)) white . frameAtWait . fst)

             video

    -- This finds the frame at given time
    frameAtWait :: IO (Maybe (AVFrame, Double)) -> Float -> IO Picture
    frameAtWait getFrame time = do
       -- This gets the next frame from the video
       (frame, t) &lt;- fromJust &lt;$> getFrame
       -- t has to be converted from Double to Float
       let t' = realToFrac t
           -- The difference between the requested time and the actual frame time
           difference = t' - time
       -- If the frame is not yet supposed to be shown
       if difference > 0 then do
           -- Wait until it is
           threadDelay . round . (* 1000000) $ difference
           -- then return it
           fromJust &lt;$> frameToPicture frame
       else
           -- return it immediately
           fromJust &lt;$> frameToPicture frame

    -- This function converts a ffmpeg internal AVFrame to a gloss picture
    frameToPicture :: AVFrame -> IO (Maybe Picture)
    frameToPicture frame = do
       -- convert it to a juicypixels dynamicimage
       dynImage &lt;- toJuicy frame
       -- then convert it to a gloss picture and return it
       return . join $ fmap fromDynamicImage dynImage