Recherche avancée

Médias (0)

Mot : - Tags -/content

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

Autres articles (70)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

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

Sur d’autres sites (7036)

  • How can I store a live stream when internet connection is interrupted ?

    5 juin 2019, par Marcello Moreira

    I’m building a solution using drone and 3g/4g connection.
    I have an IP camera encoded in H.264 by a hardware encoder connected to a raspberry pi and a 3g/4g moldem. The hardware encoder livestream de video via RTMP to a remote server I have. All these devices are in a moving platform, and sometimes the moldem loses connection with internet for a few seconds/minutes. When this happens, I want to store the live footage in the raspberry with ffmpeg, and when the connection restores I can send it back to the server. I have access to the encoded livestream from the raspberry pi over LAN even when internet is down.

    I do not know how and where should I start.
    I see two approaches for this.

    First approach

    One is to do all the streaming via ffmpeg, and disable the automatic hardware stream, when ffmpeg detects that it can’t send stream to the remote server, it starts to store the video (like a buffer) until the connection is restore. The issue with this, is that I don’t know if ffmpeg can detect if internet connection is down, and how can I buffer the video. Also by doing this, when connection is restored, live video would have a huge delay, and I can’t have lot’s of delay in my solution.

    Second approach

    The second is simultaneously store with ffmpeg the live video, when internet goes down, a process records the timestamp, and keeps watching until internet connection is restored. Then it sends to my server only the missing piece. At my server I would need to figure out a way to join those streams back up.. (I would gladly accept tips on that too). Issue with this is that there’s limited space in my raspberry, so I can only store a limited amount. Also, my device may be turned off when it lands so I need to send the video recording ASAP after connection is restored.

    So, which approach seems to be the better one ?

  • gstreamer receive and reassamble h.264 video over udp

    8 mai 2019, par Ragnar Harðarson

    I’m trying to capture a video stream from a Tello drone with gstreamer

    I’ve tried with a gstreamer pipeline of

    gst-launch-1.0 -v udpsrc buffer-size=622080 skip-first-bytes=2 port=6038 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RAW,width=(string)960, height=(string)720, payload=(int)96, a-framerate=25" \
       ! queue \
       ! rtpvrawdepay \
       ! autovideosink

    But this outputs (with export GST_DEBUG=*:3)

    WARNING: from element /GstPipeline:pipeline0/GstRtpVRawDepay:rtpvrawdepay0: Could not decode stream.
    Additional debug info:
    gstrtpbasedepayload.c(506): GstFlowReturn gst_rtp_base_depayload_handle_buffer(GstRTPBaseDepayload *, GstRTPBaseDepayloadClass *, GstBuffer *) (): /GstPipeline:pipeline0/GstRtpVRawDepay:rtpvrawdepay0:

    Information about the stream can be seen here : https://github.com/m6c7l/dji-ryze-tello/tree/master/example/video

    The video can be piped into ffmpeg with the following command ffmpeg -i - -f image2pipe -pix_fmt rgb24 -vcodec rawvideo -

    I’m missing a gstreamer pipeline that can piece these NALs together into a h264 frame.

    Update : output with playbin

    I tried running the command with export GST_DEBUG=*:3 and I’m getting the following output repeatedly :

    gst-launch-1.0 -v playbin uri=udp://0.0.0.0:6038
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = udp://0.0.0.0:6038
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstUDPSrc\)\ source"
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream
    /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream
    0:01:19.923679000  3202 0x7f9639857320 WARN               h264parse gsth264parse.c:1351:gst_h264_parse_handle_frame:<h264parse0> broken/invalid nal Type: 1 Slice, Size: 16113 will be dropped
    0:01:19.924320000  3202 0x7f9639857320 WARN               h264parse gsth264parse.c:1351:gst_h264_parse_handle_frame:<h264parse0> broken/invalid nal Type: 1 Slice, Size: 17237 will be dropped
    0:01:19.925063000  3202 0x7f9639857320 WARN       codecparsers_h264 gsth264parser.c:2039:gst_h264_parse_pps: failed to read SE
    0:01:19.925075000  3202 0x7f9639857320 WARN       codecparsers_h264 gsth264parser.c:2046:gst_h264_parse_pps: error parsing "Picture parameter set"
    0:01:19.925081000  3202 0x7f9639857320 WARN               h264parse gsth264parse.c:882:gst_h264_parse_process_nal:<h264parse0> failed to parse PPS:
    0:01:19.925089000  3202 0x7f9639857320 WARN               h264parse gsth264parse.c:1351:gst_h264_parse_handle_frame:<h264parse0> broken/invalid nal Type: 8 PPS, Size: 5 will be dropped
    0:01:19.925106000  3202 0x7f9639857320 WARN       codecparsers_h264 gsth264parser.c:2039:gst_h264_parse_pps: failed to read SE
    </h264parse0></h264parse0></h264parse0></h264parse0>

    I’ll try playing around with the options and report back.

  • Unable to record video using FFMPEG in Python

    23 mai 2019, par user1932747

    I have this animation generated using python. And once it generates, it’s supposed to make a a video. I’ve gotten as far as creating the file, however I get a traceback error. And when I attempt to open the file, there’s nothing in it.

    Windows 10, running python 3.

    I’ve messed with the PATH of ffmpeg, placed it directly in the folder. I removed a piece of code that generated a unique file name. And replaced it with a string. No file was being generated at all prior to that.

    I also tried to change the codecs, still nothing.

    The code that creates video :

    plt.show()
    animation.save('Output_Test.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

    I expect to just get a video that says Output_Test.mp4. Which I do get, but it’s empty.

    Traceback Error :

    Traceback (most recent call last):
     File "C:\Users\andre\OneDrive\Desktop\FranchiseRevenueComparison-master\FranchiseAnimation.py", line 277, in <module>
       animation.save('Output_Test.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
     File "C:\Users\andre\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\animation.py", line 1139, in save
       anim._init_draw()
     File "C:\Users\andre\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\animation.py", line 1732, in _init_draw
       self._draw_frame(next(self.new_frame_seq()))
     File "C:\Users\andre\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\animation.py", line 1755, in _draw_frame
       self._drawn_artists = self._func(framedata, *self._args)
     File "C:\Users\andre\OneDrive\Desktop\FranchiseRevenueComparison-master\FranchiseAnimation.py", line 259, in animate
       self.ax.figure.canvas.draw()
     File "C:\Users\andre\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 10, in draw
       _backend_tk.blit(self._tkphoto, self.renderer._renderer, (0, 1, 2, 3))
     File "C:\Users\andre\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\backends\_backend_tk.py", line 77, in blit
       photoimage.blank()
     File "C:\Users\andre\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 3548, in blank
       self.tk.call(self.name, 'blank')
    _tkinter.TclError: invalid command name "pyimage10"
    </module>

    RESOLVED :

    I just had to reverse the order of plot and save.