Recherche avancée

Médias (91)

Autres articles (85)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

Sur d’autres sites (11456)

  • MP4 cut with ffmpeg doesn't play nicely in VLC but does in Browser

    21 février, par Alex

    I cut a video with ffmpeg :

    


    ffmpeg -ss 2 -to 10 -i src.mp4 -c copy out.mp4


    


    But the playback in VLC is choppy for the first few seconds. Strangely it does play in my browser fine.

    


    I saw this post :
https://superuser.com/questions/1167958/video-cut-with-missing-frames-in-ffmpeg?newreg=1502e1698e0344acb214aa8d7e6048bd where the suggestion is to use -avoid_negative_ts make_zero. That does fix the playback in VLC. I think that shifts the whole stream, and results in the video being longer than I want it to be.

    


    For my use case I need the video to be precisely the correct length and I can't incur the cost of a (full) re-encode. I think the addition of -avoid_negative_ts is effectively snapping the cut to the nearest keyframe.

    


    So I think the negative timestamps are upsetting VLC ? I can see they exist.

    


    $ ffprobe -v error -select_streams v:0  -of  default=noprint_wrappers=1 out.mp4 -show_entries packet=pts | head
pts=-30720
pts=-30464
pts=-30208
pts=-29952


    


    I also tried with a few other media players (Films & TV in Windows) and had similar issues. Is there a better way to handle this, in a way that will allow the output video to be played normally ?

    


    I saw the approach in this question : Cut a video in between key frames without re-encoding the full video using ffpmeg ?. But had issues with "Non-monotonous DTS" that also seemed to manifest in choppy playback.

    


  • An Electron RTSP player : How to play the video stream ?

    3 octobre 2023, par Siavoshkc

    What seemed to be an easy job turned out otherwise. I wanted to write an Electron app to manage DVR streams as I wasn't satisfied with some apps I used. I choose Electron because I recently started JS and took the opportunity to practice it and also play a bit with Electron.

    


    After deciding about how to handle GUI using web components, it was time to see how to read RTSP streams. My initial approach was to use FFmpeg. But I didn't know how to do so in Nodejs or Electron so I started a research.

    


    Long story short I understood that if one wants to use a C/C++ library in JS the best practice is to create bindings using Node API (formerly NAPI) which will result in a FFmpeg native addon. Then I assumed there is already a decent such addon available as FFmpeg is the go-to for video stuff. But to my surprise this isn't the case. Although there are some packages which run ffmpeg executive binary the ones that provide the binding are rare and not recent (such as beamcoder).

    


    FFmpeg web assembly is another option which I may consider but seemed overkill as I am not opening the streams in pure browser.

    


    Another approach was to use chromium media abilities as it has FFmpeg bundled for some media functions but to my understanding it cannot open RTSP streams at least for now.

    


    Can you please add to my current understanding on the matter ?

    


  • An Electron RTSP player : How to play video stream ?

    26 octobre 2022, par Siavoshkc

    What seemed to be an easy job turned out otherwise. I wanted to write an Electron app to manage DVR streams as I wasn't satisfied with some apps I used. I choose Electron because I recently started JS and took the opportunity to practice it and also play a bit with Electron.

    


    After deciding about how to handle GUI using web components, it was time to see how to read RTSP streams. My initial approach was to use FFmpeg. But I didn't know how to do so in Nodejs or Electron so I started a research.

    


    Long story short I understood that if one wants to use a C/C++ library in JS the best practice is to create bindings using Node API (formerly NAPI) which will result in a FFmpeg native addon. Then I assumed there is already a decent such addon available as FFmpeg is the go-to for video stuff. But to my surprise this isn't the case. Although there are some packages which run ffmpeg executive binary the ones that provide the binding are rare and not recent (such as beamcoder).

    


    FFmpeg web assembly is another option which I may consider but seemed overkill as I am not opening the streams in pure browser.

    


    Another approach was to use chromium media abilities as it has FFmpeg bundled for some media functions but to my understanding it cannot open RTSP streams at least for now.

    


    Can you please add to my current understanding on the matter ?