Recherche avancée

Médias (91)

Autres articles (41)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

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

Sur d’autres sites (9123)

  • Search pre-defined words in live stream video

    31 janvier 2018, par Brajraj Agrawal

    I want to search for some pre-defined keywords in youtube live stream ( or some other live stream) in my application.
    I have gone through the many articles. I just have a URL that is a live streaming URL and a set of keywords. If any of that keywords appear in the video I just want the user to provide a link to jump to that frame where the keyword appears in as real-time as possible.

    My understanding for that is to use Google Speech API and FFMPEG. But I am confused how can I do playback and which HTML player should I use for that.

    E.g. A video is streaming live and If a word "dog" is spoked in the video then the user should get notify with playback URL from 5 sec behind it appears in the video.

    Please suggest

  • Fluent-ffmpeg randomly doesn't add the text I want to the video, even though it's in the filters

    15 décembre 2022, par ToborWinner

    I am making a simple script to add some text to a 4 seconds video, it all works fine, but sometimes it randomly doesn't add some of the text.
You can find here the relevant parts of my code :

    


    
const video = ffmpeg('path/to/video.mp4')

let index = 0
let left = true

const filters = [{
  filter: 'drawtext',
  options: {
    //fontfile:'font.ttf',
    text: title,
    fontsize: 30,
    fontcolor: 'white',
    x: '(main_w/2-text_w/2)',
    y: 130,
    shadowcolor: 'black',
    shadowx: 2,
    shadowy: 2
  }
}]

for (let thought of thoughts) {
    if (thought.length == 0) {
      continue
    }
    thought = wrap(thought, {width: 35})
    const strings = thought.split("\n")
    let line = 0
    for (const string of strings
      .filter(string => string.length > 0)
      .map(string => string.trim())
      ) {
      let yoffset = 130+(130*(index+1))+(line*20)
      if (yoffset < 0) {
        yoffset = 0
      }
      console.log(string, yoffset)
      filters.push({
        filter: 'drawtext',
        options: {
          //fontfile:'font.ttf',
          text: string,
          fontsize: 18,
          fontcolor: 'white',
          x: `(main_w${left ? "*0.3" : "*0.7"}-text_w/2)`,
          y: yoffset,
          shadowcolor: 'black',
          shadowx: 2,
          shadowy: 2
        }
      })
      line++;
    }
    index++;
    left = !left
  }


video.videoFilters(filters)
video.noAudio()


video.save('path/to/output.mp4');



    


    The wrap function comes from the package word-wrap (const wrap = require('word-wrap');)
Thoughts is a list of strings that aren't too long (with the wrap function they end up being like 2-4 lines).

    


    This is inside an async function.

    


    For some reason only a few lines appear on the output video.
Sometimes, when it doesn't do that, it also throws an error saying that one of the inputs is invalid (while processing filters).
The wrap function seems to work, and also the yoffset, I have printed them.

    


    If someone has an idea why, please help me solve this.

    


    I tried chasing the text in thoughts, and for example, this works with no problems (shows the title, and the texts right, left, right, left, ...).

    


    const thoughts = ["Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things"]


    


  • Error in Splitting Educational Videos into Segments Using Python (ffmpeg issue) [closed]

    28 décembre 2024, par Yahia Mohamed Hanbal

    I created a Python project to split long educational videos into smaller segments, each focused on a single question. The program uses OCR to detect text on video frames, identifies the word "Question," extracts the number following it, and splits the video whenever the number increases.

    


    here is the video i am tring to split ((video))

    


    Here’s an example of the program’s output :

    


    Video loaded: 14071 frames at 60 FPS, duration: 234.52s  
Frame 480, Time 8.00s, Question: 6  
...  
Frame 12360, Time 206.00s, Question: 7  
Creating segment 1: 8.00s to 206.00s  
Error: module 'ffmpeg' has no attribute 'Error'


    


    I’ve shared the full code in a GitHub repository for reference : Automated Video Scene Cutting.

    


    What the Program Does

    


      

    • Input : A long educational video.
    • 


    • Processing :

        

      • Detects text in each frame using OCR.
      • 


      • Searches for the word "Question" followed by a number.
      • 


      • Monitors when the number increases to identify segment boundaries.
      • 


      


    • 


    • Output : Creates video segments corresponding to individual questions.
    • 


    


    The Problem

    


    The program detects the questions and timestamps correctly, but when it tries to create the segments, I encounter the following error :

    


    Error: module 'ffmpeg' has no attribute 'Error'


    


    What I’ve Tried

    


      

    • Verified the ffmpeg-python library is installed (pip show ffmpeg-python confirms the installation).
    • 


    • Ensured the ffmpeg binary is accessible from the command line.
    • 


    • Reviewed the library documentation to ensure the correct usage of ffmpeg.
    • 


    • Tested with different video files to rule out input-specific issues.
    • 


    


    Environment Details

    


      

    • OS : Windows 11
    • 


    • Python Version : 3.9.13
    • 


    • Key Libraries : ffmpeg-python
    • 


    


    If anyone has insights into resolving this issue or suggestions for alternative approaches to handle this use case, I’d greatly appreciate your help.

    


    Thank you !