Recherche avancée

Médias (0)

Mot : - Tags -/upload

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

Autres articles (59)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

Sur d’autres sites (6096)

  • mpegvideo : drop support for real (non-emulated) edges

    20 décembre 2013, par Anton Khirnov
    mpegvideo : drop support for real (non-emulated) edges
    

    Several decoders disable those anyway and they are not measurably faster
    on x86. They might be somewhat faster on other platforms due to missing
    emu edge SIMD, but the gain is not large enough (and those decoders
    relevant enough) to justify the added complexity.

    • [DBH] libavcodec/mpegvideo.c
    • [DBH] libavcodec/mpegvideo.h
    • [DBH] libavcodec/mpegvideo_enc.c
    • [DBH] libavcodec/mpegvideo_motion.c
    • [DBH] libavcodec/mss2.c
    • [DBH] libavcodec/rv10.c
    • [DBH] libavcodec/rv34.c
    • [DBH] libavcodec/svq3.c
    • [DBH] libavcodec/vc1dec.c
    • [DBH] libavcodec/wmv2.c
  • Script to cut video by silence part with FFMPEG

    11 février 2020, par fricadelle

    This is a question that is raised here How to split video or audio by silent parts or here How can I split an mp4 video with ffmpeg every time the volume is zero ?

    So I was able to come up with a straightforward bash script that works on my Mac.

    Here it is (only argument is the name of the video to be cut, it will generate a file start_timestamps.txt with the list of silence starts if the file does not exist and reuse it otherwise) :

    #!/bin/bash

    INPUT=$1

    filename=$(basename -- "$INPUT")
    extension="${filename##*.}"
    filename="${filename%.*}"

    SILENCE_DETECT="silence_detect_logs.txt"
    TIMESTAMPS="start_timestamps.txt"

    if [ ! -f $TIMESTAMPS ]; then
       echo "Probing start timestamps"
       ffmpeg -i "$INPUT" -af "silencedetect=n=-50dB:d=3" -f null - 2> "$SILENCE_DETECT"
       cat "$SILENCE_DETECT"| grep "silence_start: [0-9.]*" -o| grep -E '[0-9]+(?:\.[0-9]*)?' -o > "$TIMESTAMPS"
    fi

    PREV=0.0
    number=0

    cat "$TIMESTAMPS"| ( while read ts
    do
       printf -v fname -- "$filename-%02d.$extension" "$(( ++number ))"
       DURATION=$( bc <<< "$ts - $PREV")
       ffmpeg -y -ss "$PREV" -i "$INPUT" -t "$DURATION" -c copy "$fname"
       PREV=$ts
    done
    printf -v fname -- "$filename-%02d.$extension" "$(( ++number ))"
    ffmpeg -y -ss "$PREV" -i "$INPUT" -c copy "$fname" )

    Unfortunately it does not seem to work :

    I have a video that is basically a collection of clips, each clip being introduced by a 5 second silence with a static frame with a title on it. So I want to cut the original video so that each chunk is the 5 seconds "introduction" + video until the next introduction. Hope it’s clear.

    Anyway, in my script I first find all silence_start using ffmpeg silencedetect plugin. I get a start_timestamps.txt that read :

    141.126
    350.107
    1016.07
    etc.

    Then for example I would call (I don’t need to transcode again the video), knowing that (1016.07 - 350.107) = 665.963

    ffmpeg -ss 350.107 -i Some_video.mp4 -t 665.963 -c copy "Some_video02.mp4"

    The edge cases being the first chunk that has to go from 0 to 141.126 and the last chunk that has to go from last timestamp to end of the video.

    Anyway the start_timestamps seem legit. But my output chunks are completely wrong. Sometimes the video does not even play anymore in Quicktime. I don’t even have my static frame with the title in any of the videos...

    Hope someone can help. Thanks.

    EDIT Ok as explained in the comments, if I echo $PREV while commenting out the ffmpeg command I get a perfectly legit list of values :

    0.0
    141.126
    350.107
    1016.07
    etc.

    With the ffmpeg command I get :

    0.0
    141.126
    50.107
    016.07
    etc.

    bash variable changes in loop with ffmpeg shows why.

    I just need to append < /dev/null to the ffmpeg command or add -nostdin argument. Thanks everybody.

  • Haskell - Turning multiple image-files into one video-file using the ffmpeg-light package

    25 avril 2021, par oRole

    Background
    &#xA;I wrote an application for image-processing which uses the ffmpeg-light package to fetch all the frames of a given video-file so that the program afterwards is able to apply grayscaling, as well as edge detection alogrithms to each of the frames.

    &#xA;

    Now I'm trying to put all of the frames back into a single video-file.

    &#xA;

    Used Libs
    &#xA;ffmpeg-light-0.12.0
    &#xA;JuicyPixels-3.2.8.3
    &#xA;...

    &#xA;

    What have I tried ?
    &#xA;I have to be honest, I didn't really try anything because I'm kinda clueless where and how to start. I saw that there is a package called Command which allows running processes/commands using the command line. With that I could use ffmpeg (not ffmpeg-light) to create a video out of image-files which I would have to save to the hard drive first but that would be kinda hacky.

    &#xA;Within the documentation of ffmpeg-light on hackage (ffmpeg-light docu) I found the frameWriter function which sounds promising.

    &#xA;

    frameWriter :: EncodingParams -> FilePath -> IO (Maybe (AVPixelFormat, V2 CInt, Vector CUChar) -> IO ()) &#xA;

    &#xA;

    I guess FilePath would be the location where the video file gets stored but I can't really imagine how to apply the frames as EncodingParams to this function.

    &#xA;

    Others
    &#xA;I can access :

    &#xA;

      &#xA;
    • r, g, b, a as well asy. a values
    • &#xA;

    • image width / height / format
    • &#xA;

    &#xA;

    Question
    &#xA;Is there a way to achieve this using the ffmpeg-light package ?

    &#xA;

    As the ffmpeg-light package lacks of documentation when it comes to conversion from images to video, I really would appreciate your help. (I do not expect a fully working solution.)

    &#xA;

    Code
    &#xA;The code that reads the frames :

    &#xA;

    -- Gets and returns all frames that a given video contains&#xA;getAllFrames :: String -> IO [(Double, DynamicImage)]&#xA;getAllFrames vidPath = do &#xA;  result &lt;- try (imageReaderTime $ File vidPath) :: IO (Either SomeException (IO (Maybe (Image PixelRGB8, Double)), IO()))&#xA;  case result of &#xA;    Left ex -> do &#xA;                 printStatus "Invalid video-path or invalid video-format detected." "Video" &#xA;                 return []&#xA;    Right (getFrame, _) -> addNextFrame getFrame [] &#xA;&#xA;-- Adds up all available frames to a video.&#xA;addNextFrame :: IO (Maybe (Image PixelRGB8, Double)) -> [(Double, DynamicImage)] -> IO [(Double, DynamicImage)]&#xA;addNextFrame getFrame frames = do&#xA;  frame &lt;- getFrame&#xA;  case frame of &#xA;    Nothing -> do &#xA;                 printStatus "No more frames found." "Video"&#xA;                 return frames&#xA;    _       -> do                             &#xA;                 newFrameData &lt;- fmap ImageRGB8 . swap . fromJust &lt;$> getFrame &#xA;                 printStatus ("Frame: " &#x2B;&#x2B; (show $ length frames) &#x2B;&#x2B; " added.") "Video"&#xA;                 addNextFrame getFrame (frames &#x2B;&#x2B; [newFrameData]) &#xA;

    &#xA;

    Where I am stuck / The code that should convert images to video :

    &#xA;

    -- Converts from several images to video&#xA;juicyToFFmpeg :: [Image PixelYA8] -> ?&#xA;juicyToFFmpeg imgs = undefined&#xA;

    &#xA;