Recherche avancée

Médias (0)

Mot : - Tags -/xml-rpc

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

Autres articles (47)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

  • How to start and stop saving video frames according to a trigger with OpenCV VideoWriter

    11 août 2021, par Jacob nighFor

    I am building an app that records frames from IP camera through RTSP.

    



    My engine is in charge to save a video in mp4 with Opencv VideoWriter working well.
What I am looking for is to create a startRecord and a stopRecord class method that will respectively start and stop recording according to a trigger (it could be an argument that I pass to the thread).
Is anyone know what the best way to do that kind of stuff ?

    



    Here is my class :

    



    from threading import Thread
import cv2
import time
import multiprocessing
import threading
class RTSPVideoWriterObject(object):
    def __init__(self, src=0):
        # Create a VideoCapture object
        self.capture = cv2.VideoCapture(src)

        # Start the thread to read frames from the video stream
        self.thread = Thread(target=self.update, args=())
        self.thread.daemon = True
        self.thread.start()

    def update(self):
        # Read the next frame from the stream in a different thread
        while True:
            if self.capture.isOpened():
                (self.status, self.frame) = self.capture.read()

    def endRecord(self):
        self.capture.release()
        self.output_video.release()
        exit(1)

    def startRecord(self,endRec):

        self.frame_width = int(self.capture.get(3))
        self.frame_height = int(self.capture.get(4))
        self.codec = cv2.VideoWriter_fourcc(*'mp4v')
        self.output_video = cv2.VideoWriter('fileOutput.mp4', self.codec, 30, (self.frame_width, self.frame_height))
        while True:          
            try:
                self.output_video.write(self.frame)
                if endRec:
                    self.endRecord()
            except AttributeError:
                pass




if __name__ == '__main__':

    rtsp_stream_link = 'rtsp://foo:192.5545....'
    video_stream_widget = RTSPVideoWriterObject(rtsp_stream_link)

    stop_threads = False
    t1 = threading.Thread(target = video_stream_widget.startRecord, args =[stop_threads]) 
    t1.start() 
    time.sleep(15)
    stop_threads = True



    



    As you can see in the main I reading frames and store them in a separate thread. Then I am starting to record (record method is with an infinite loop so blocking) and then after 15 sec, I am trying to pass a 'stop_record' argument to stop recording properly.

    



    A part of the code comes from Storing RTSP stream as video file with OpenCV VideoWriter

    



    Is someone have an idea ?
I read a lot that OpenCV can be very tricky for multithreading

    



    N.

    


  • openCV save frames from RTSP non blocking

    1er janvier 2020, par Jacob nighFor

    I am building an app that records frames from IP camera through RTSP.

    My engine is in charge to save a video in mp4 with Opencv VideoWriter working well.
    What I am looking for is to create a startRecord and a stopRecord class method that will respectively start and stop recording according to a trigger (it could be an argument that I pass to the thread).
    Is anyone know what the best way to do that kind of stuff ?

    Here is my class :

    from threading import Thread
    import cv2
    import time
    import multiprocessing
    import threading
    class RTSPVideoWriterObject(object):
       def __init__(self, src=0):
           # Create a VideoCapture object
           self.capture = cv2.VideoCapture(src)

           # Start the thread to read frames from the video stream
           self.thread = Thread(target=self.update, args=())
           self.thread.daemon = True
           self.thread.start()

       def update(self):
           # Read the next frame from the stream in a different thread
           while True:
               if self.capture.isOpened():
                   (self.status, self.frame) = self.capture.read()

       def endRecord(self):
           self.capture.release()
           self.output_video.release()
           exit(1)

       def startRecord(self,endRec):

           self.frame_width = int(self.capture.get(3))
           self.frame_height = int(self.capture.get(4))
           self.codec = cv2.VideoWriter_fourcc(*'mp4v')
           self.output_video = cv2.VideoWriter('fileOutput.mp4', self.codec, 30, (self.frame_width, self.frame_height))
           while True:          
               try:
                   self.output_video.write(self.frame)
                   if endRec:
                       self.endRecord()
               except AttributeError:
                   pass




    if __name__ == '__main__':

       rtsp_stream_link = 'rtsp://foo:192.5545....'
       video_stream_widget = RTSPVideoWriterObject(rtsp_stream_link)

       stop_threads = False
       t1 = threading.Thread(target = video_stream_widget.startRecord, args =[stop_threads])
       t1.start()
       time.sleep(15)
       stop_threads = True

    As you can see in the main I reading frames and store them in a separate thread. Then I am starting to record (record method is with an infinite loop so blocking) and then after 15 sec, I am trying to pass a ’stop_record’ argument to stop recording properly.

    A part of the code comes from Storing RTSP stream as video file with OpenCV VideoWriter

    Is someone have an idea ?
    I read a lot that OpenCV can be very tricky for multithreading

    N.

  • MediaToolKit Custom Command using C#

    28 novembre 2019, par Umair Shahid

    I am trying to compress mp4 files using MediaToolKit (FFMPEG). Here is code for compression

    string CompressMp4Command = @"-i {0} -vf scale={1} -c:v libx264 -preset ultrafast -r 30 -crf {2} {3}";
    string Res960X720 = "960:720";
    int CRF= 30;
    using (var engine = new Engine(FfmpegPath))
    {
      engine.CustomCommand(string.Format(CompressMp4Command, input, Res960X720, CRF, output));
    }

    it works fine if I pass 2-3 files but If I pass more than 3 files then it throws an exception

    -1: frame=  552 fps= 35 q=33.0 size=    9343kB time=00:00:18.52 bitrate=4131.1kbits/s dup=1 drop=0    frame=  594 fps= 36 q=34.0 size=   10090kB time=00:00:19.91 bitrate=4150.8kbits/s dup=1 drop=0    

    Any idea why throwing this exception