Recherche avancée

Médias (1)

Mot : - Tags -/censure

Autres articles (72)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

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

  • Can I use the "stream copy" of ffmpeg in OpenCV with VideoWriter class ?

    14 mai 2019, par DerekG

    Python : 3.6, Ubuntu 18.04, OpenCV 4.1.0

    I have an IP camera that streams video data in H.264 encoding. I would like to take this video stream and save it in a .avi file using Python without any encoding or decoding. Using a command line interface and ffmpeg commands, this is trivial to do.

    mycomputer@home:~$ ffmpeg -i rtsp://username:password@192.168.1.1/?framerate=30.0?streamprofile=defaultcameraprofile -acodec copy -vcodec copy output_file_name.avi

    I’d like to do a similar thing from within Python using OpenCV. Currently, I am using VideoCapture class to read in each frame, and then using the OpenCV VideoWriter class to write this frame to a file. My issue is that the VideoWriter class requires a four_cc code to specify which codec is to be used during writing, whereas I don’t want to use any codec at all (or more precisely, I want to use the stream copy of FFmpeg, but there is to my knowledge no corresponding four_cc code). OpenCV documentation specifies that if I use the FFmpeg backend API and specify both a codec and framerate of 0, the raw stream should be written to the new file. However, when I do this, no file is created.

    cap = cv2.VideoCapture("rtsp://username:password@192.168.1.1/?framerate=30.0?streamprofile=defaultcameraprofile", cv2.CAP_FFMPEG)
    frame_width = int(cap.get(3))
    frame_height = int(cap.get(4))
    # output file, backend API, four_cc code integer, framerate, frame size tuple
    out = cv2.videoWriter("output_file.avi",cv2.CAP_FFMPEG,0,0,(frame_width,frame_height))

    I have tried many combinations of other input parameters to the videoWriter constructor but all of them either re-encode the stream or do not write an output file. For instance, I have tried nearly every combination of framerate 0,30, output file extension .avi, .mp4, .h264, .mkv, None and codec 0, "H.264", "RAW ", "DBI ", " ", "MPEG", "COPY", "NONE".

    out = cv2.videoWriter("output_file.avi",cv2.CAP_FFMPEG,cv2.VideoWriter_fourcc('H','2','6','4'),30,(frame_width,frame_height))

    Is it possible to use the FFmpeg stream copy within OpenCV to save video data without encoding it ? If not, I will change tact to running shell commands from within Python, but I’d prefer the former approach if feasible.

  • "Undefined Reference" when compiling FFMPEG with librtmp on Android

    5 mars 2019, par elBradford

    I have searched, and while Building FFMPEG with librtmp for android answered part of my question, I ran into other issues further along in the compilation process.

    First, I am trying to use the script in this github repo, changing the flags to include

     --enable-librtmp \
     --extra-cflags=-I/home/bradford/Development/FFMPEG/rtmp/rtmpdump/librtmp/ \
     --extra-ldflags=-L/home/bradford/Development/FFMPEG/rtmp/rtmpdump/librtmp"

    I build librtmp with polarSSL following S74ck3r’s instructions on his github repo and stream-recorder thread. That appears to work correctly, and I have a librtmp.so, librtmp.a and rtmp.h

    When I try to compile ffmpeg with librtmp, I get the error

    ERROR: librtmp not found

    This SO question helped, and I modified ffmpeg’s config file so that it wouldn’t look at pkg-config for librtmp (even though pkg-config was aware of librtmp...) :

    #enabled librtmp    && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket

    When I build now, it starts successfully, and I get the hopeful line :

    librtmp enabled           yes

    And later on I see more good news :

    ...
    Enabled protocols:
    applehttp       http            mmsh
    cache           httpproxy       mmst
    concat          librtmp         mmsu
    crypto          librtmpe        pipe
    fd          librtmps        rtp
    file            librtmpt        tcp
    gopher          librtmpte       udp
    hls         md5
    ...

    but finally, after compiling everything and during the installation phase, I get these types of errors :

    INSTALL   libavutil/libavutil.pc
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_get_file_handle:libavformat/librtmp.c:190: error: undefined reference to 'RTMP_Socket'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_read_seek:libavformat/librtmp.c:180: error: undefined reference to 'RTMP_SendSeek'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_read_pause:libavformat/librtmp.c:161: error: undefined reference to 'RTMP_Pause'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_close:libavformat/librtmp.c:64: error: undefined reference to 'RTMP_Close'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_write:libavformat/librtmp.c:145: error: undefined reference to 'RTMP_Write'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_read:libavformat/librtmp.c:153: error: undefined reference to 'RTMP_Read'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:96: error: undefined reference to 'RTMP_LogSetLevel'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:97: error: undefined reference to 'RTMP_LogSetCallback'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:118: error: undefined reference to 'RTMP_Init'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:119: error: undefined reference to 'RTMP_SetupURL'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:127: error: undefined reference to 'RTMP_Connect'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:127: error: undefined reference to 'RTMP_ConnectStream'
    /tmp/FFMPEG/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: libavformat/librtmp.o: in function rtmp_open:libavformat/librtmp.c:125: error: undefined reference to 'RTMP_EnableWrite'
    collect2: ld returned 1 exit status

    And I can’t get past them. It sounds like it can’t find rtmp.h, which includes references to those functions, but that is present where it should be (afaik).

    Also, my project requires librtmp - the built-in rtmp features of ffmpeg are not sufficient because I require the authentication features of librtmp.

  • pydub .export() issue - "wave.Error : # channels not specified"

    6 novembre 2018, par Jeremy

    I’m trying to cut a clip from an mp3 using the pydub library. Exporting the clip is giving me a bit of an issue.

    I’ve tried exporting as both .mp3 and .wav. I’m sure it’s something silly I’ve done on my end. Pydub seems great so far, I’m just messing something up along the way.

    The export portion of the my code is as follows :

    def cut_clip(track, start, stop):
       full_file = pydub.AudioSegment.from_file(track, format="mp3")
       clip = full_file[start:stop]
       return

    def create_clip_file():
       global clip
       clip = cut_clip('test.mp3', 2200000, 2280000)
       clip = pydub.AudioSegment.export("clip.wav", format="wav")
       print("%s is written." % clip)
       new_file_length = get_track_length(clip)

    create_clip_file()

    Here is the Traceback.

    subprocess.call(['ffmpeg', '-y', '-f', 'mp3', '-i', 'test.mp3', '-acodec', 'pcm_s16le', '-vn', '-f', 'wav', '-'])
    Traceback (most recent call last):
     File "test.py", line 43, in <module>
       create_clip_file()
     File "test.py", line 38, in create_clip_file
       clip = pydub.AudioSegment.export("clip.wav", format="wav")
     File "/home/jeremy/.virtualenvs/chopin-qm-qH-MX/lib/python3.4/site-packages/pydub/audio_segment.py", line 795, in export
       wave_data.setnchannels(self.channels)
    AttributeError: 'str' object has no attribute 'channels'
    Exception ignored in: <bound method="method" of="of" object="object" at="at" 0x6fee80b615c0="0x6fee80b615c0">>
    Traceback (most recent call last):
     File "/usr/lib/python3.4/wave.py", line 315, in __del__
       self.close()
     File "/usr/lib/python3.4/wave.py", line 433, in close
       self._ensure_header_written(0)
     File "/usr/lib/python3.4/wave.py", line 450, in _ensure_header_written
       raise Error('# channels not specified')
    wave.Error: # channels not specified
    </bound></module>

    Does anyone happen to see what I’m doing wrong here ?

    I am able to cut the clip using ffmpeg but I was really trying to wrap my head around pydub.