Recherche avancée

Médias (91)

Autres articles (82)

  • Configuration spécifique pour PHP5

    4 février 2011, par

    PHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
    Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
    Modules spécifiques
    Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

Sur d’autres sites (5230)

  • vlc python stream from other NAT

    7 octobre 2020, par xKedar

    I'm trying to stream, using FFmpeg, my webcam and audio from PC1 to PC2 in another LAN.

    


    PC1 : Public IP address with port forwarding so I can reach it

    


    PC2 : In a different NAT from PC1

    


    I basically run a server on PC1 in order to acquire IP and port from PC2 and reply on the same address

    


        import socket

    localPort   = 1234
    bufferSize  = 1024

    UDPServerSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM)
    UDPServerSocket.bind(("", localPort)) # Bind to address and port

    while(True):
        bytesAddressPair = UDPServerSocket.recvfrom(bufferSize)
        message = bytesAddressPair[0].decode("utf-8")
        address = bytesAddressPair[1]
        # Sending a reply to client
        UDPServerSocket.sendto(str.encode("Hello"), address)
        break

    UDPServerSocket.close()


    


    Then I try to send the stream with the same port number both for the server(localPort) and the client(the one I acquired from address)

    


        import re
    from threading import Thread
    from subprocess import Popen, PIPE

    def detect_devices():
            list_cmd = 'ffmpeg -list_devices true -f dshow -i dummy'.split()
            p = Popen(list_cmd, stderr=PIPE)
            flagcam = flagmic = False
            for line in iter(p.stderr.readline,''):
                if flagcam:
                    cam = re.search('".*"',line.decode(encoding='UTF-8')).group(0)
                    cam = cam if cam else ''
                    flagcam = False
                if flagmic:
                    mic = re.search('".*"',line.decode(encoding='UTF-8')).group(0)
                    mic = mic if mic else ''
                    flagmic = False
                elif 'DirectShow video devices'.encode(encoding='UTF-8') in line:
                    flagcam = True
                elif 'DirectShow audio devices'.encode(encoding='UTF-8') in line:
                    flagmic = True
                elif 'Immediate exit requested'.encode(encoding='UTF-8') in line:
                    break
            return cam, mic   


    class ffmpegThread (Thread):
        def __init__(self, address):
            Thread.__init__(self)
            self.address = address

        def run(self):
            cam, mic = detect_devices()
            command = 'ffmpeg -f dshow -i video='+cam+':audio='+mic+' -profile:v high -pix_fmt yuvj420p -level:v 4.1 -preset ultrafast -tune zerolatency -vcodec libx264 -r 10 -b:v 512k -s 240x160 -acodec aac -ac 2 -ab 32k -ar 44100 -f mpegts -flush_packets 0 -t 40 udp://'+self.address+'?pkt_size=1316?localport='+str(localPort)
            p = Popen(command , stderr=PIPE)
            for line in iter(p.stderr.readline,''):
                if len(line) <5: break
            p.terminate()

    thread1 = ffmpegThread(address[0]+":"+str(address[1]))
    thread1.start()


    


    While on the other side(PC2) I have :

    


        from threading import Thread
    import tkinter as tk
    import vlc

    class myframe(tk.Frame):
        def __init__(self, width=240, height=160):
            self.root = tk.Tk()
            super(myframe, self).__init__(self.root)
            self.root.geometry("%dx%d" % (width, height))
            self.root.wm_attributes("-topmost", 1)
            self.grid()
            self.frame = tk.Frame(self, width=240, height=160)
            self.frame.configure(bg="black")
            self.frame.grid(row=0, column=0, columnspan=2)
            self.play()
            self.root.mainloop()

        def play(self):
            self.player = vlc.Instance().media_player_new()
            self.player.set_mrl('udp://@0.0.0.0:5000')
            self.player.set_hwnd(self.frame.winfo_id())
            self.player.play()

    class guiThread (Thread):
        def __init__(self, nome):
            Thread.__init__(self)
            self.nome = nome

        def run(self):
            app = myframe()


    


    and :

    


        import socket

    msgFromClient       = "Hello UDP Server"
    bytesToSend         = str.encode(msgFromClient)
    serverAddressPort   = ("MYglobal_IPaddress", 1234)
    bufferSize          = 1024
    localPort   = 5000

    # Create a UDP socket at client side
    UDPClientSocket = socket.socket(family=socket.AF_INET, type=socket.SOCK_DGRAM) 
    UDPClientSocket.bind(("", localPort))

    UDPClientSocket.sendto(bytesToSend, serverAddressPort)

    msgFromServer = UDPClientSocket.recvfrom(bufferSize)
    msg = msgFromServer[0].decode("utf-8")
    print(msg)
    UDPClientSocket.close()
    gui = guiThread("ThreadGUI")
    gui.start()


    


    Where I basically try to reach the server both to send my IP:Port and to punch a hole in the NAT in order to be able to get the packages sent from PC1 despite being behind a NAT.

    


    I guess this is not working because I can not get the stream to work but I really can not figure out how to fix that

    


  • FFmpeg capture RTSP MPEG4 and rebroadcast MPEG2 RTP multicast

    18 octobre 2017, par Omid Khalili

    I’m trying to capture MPEG4 RTSP stream from my IP camera from address :

    rtsp ://192.168.1.183/axis-media/media.amp

    And rebroadcast it with MPEG2 format over RTP and multicast address :

    239.101.101.101

    and port :

    6000

    Here is the command that I’m using in Linux Ubuntu :

    ffmpeg -re -i "rtsp://root:pass@192.168.1.183/axis-media/media.amp" -vcodec copy -acodec copy -f mpegts "rtp://239.101.101.101:6000"

    The "rtsp ://192.168.1.183/axis-media/media.amp" is working on VLC player with no issue but I can’t open "rtp ://239.101.101.101:6000" on it.

    Ubuntu 17.04 UFW firewall is also OFF.

    May I know if I’m using a correct command in FFmpeg ?

    Thanks

  • ffmpeg command failed

    25 octobre 2015, par Asad kamran

    I am experimenting FFMPEG command to convert any video format to mp4.

    Server admin execute the below command created by me and show me the errors :

    ffmpeg -ss 00:03:00  -i  /video/1444107854.mov -c:v libx264 /video/player/1444107854.mp4  -vframes 1 /video/thumb/1444107854.jpg

    This is error :

    [aac @ 0x2b845a0] The encoder ’aac’ is experimental but experimental
    codecs are not enabled, add ’-strict -2’ if you want to use it.

    how can i avoid this error and also experimental codec, so can any one let me know what can be best codec if i explicitly specify it.

    my ffmpeg and server are as follow :

    ffmpeg version N-75903-g14573b9 Copyright (c) 2000-2015 the FFmpeg
    developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)

    EDIT 1 :
    I change the command a bit and add -c:a copy to copy audio stream as it is but still no hope :

    New command :

    ffmpeg -ss 00:03:00  -i  /video/1444107854.mov -c:v libx264 -c:a copy /video/player/1444107854.mp4  -vframes 1 /video/thumb/1444107854.jpg

    After executing this i got a file of 23k size, apparently as in log it only copy audio stream and no video is added in final output.
    Its Log is as follow :

    > ffmpeg version N-75903-g14573b9 Copyright (c) 2000-2015 the FFmpeg
    > developers   built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)  
    > configuration: --enable-libx264 --enable-gpl   libavutil      55.
    > 3.100 / 55.  3.100   libavcodec     57.  5.100 / 57.  5.100   libavformat    57.  3.100 / 57.  3.100   libavdevice    57.  0.100 /
    > 57.  0.100   libavfilter     6. 10.100 /  6. 10.100   libswscale      4.  0.100 /  4.  0.100   libswresample   2.  0.100 /  2.  0.100   libpostproc    54.  0.100 / 54.  0.100 Input #0, mpeg, from
    > '/video/1444108714.mpg':  
    > Duration: 00:00:02.14, start: 0.184278, bitrate: 15689 kb/s
    >     Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], max. 38810 kb/s, 29.97 fps, 29.97 tbr,
    > 90k tbn, 59.94 tbc
    >     Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s [swscaler @ 0x347fda0] deprecated pixel format used, make sure you did
    > set range correctly [libx264 @ 0x34708a0] using SAR=1/1 [libx264 @
    > 0x34708a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264
    > @ 0x34708a0] profile High, level 4.0 [libx264 @ 0x34708a0] 264 - core
    > 148 r2597 e86f3a1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 -
    > http://www.videolan.org/x264.html - options: cabac=1 ref=3
    > deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00
    > mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0
    > deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=34
    > lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 interlaced=0
    > bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
    > b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250
    > keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
    > mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
    > aq=1:1.00 [mp4 @ 0x346f6c0] Codec for stream 1 does not use global
    > headers but container format requires global headers [mp4 @ 0x346f6c0]
    > track 1: codec frame size is not set Output #0, mp4, to
    > '/video/player/1444108714.mp4':  
    > Metadata:
    >     encoder         : Lavf57.3.100
    >     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 30k tbn,
    > 29.97 tbc
    >     Metadata:
    >       encoder         : Lavc57.5.100 libx264
    >     Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, 5.1(side), 448 kb/s Output #1, image2, to '/video/thumb/1444108714.jpg':  
    > Metadata:
    >     encoder         : Lavf57.3.100
    >     Stream #1:0: Video: mjpeg, yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
    >     Metadata:
    >       encoder         : Lavc57.5.100 mjpeg Stream mapping:   Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))   Stream #0:1 -> #0:1 (copy)   Stream #0:0 -> #1:0 (mpeg2video (native) -> mjpeg (native)) Press [q] to stop, [?] for help [mp4 @ 0x346f6c0]
    > Non-monotonous DTS in output stream 0:1; previous: 2208, current: 672;
    > changing to 2209. This may result in incorrect timestamps in the
    > output file. frame=    0 fps=0.0 q=0.0 Lq=0.0 size=      23kB
    > time=00:00:00.07 bitrate=2447.5kbits/s video:0kB audio:23kB
    > subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
    > 3.457839%

    EDIT 2 :

    ffmpeg -y -i ./1445675270.m4b -c:v libx264  -crf 20 -preset slow -pix_fmt yuv420p -movflags +faststart -c:a libfdk_aac -b:a 128k  ./player/1445675270.mp4 -vframes 1 ./thumb/1445675270.jpg

    Above command output the below message, i will appreciate if you can suggest.

    ffmpeg version git-2015-10-11-49f4967 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
     configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
     libavutil      55.  3.100 / 55.  3.100
     libavcodec     57.  5.100 / 57.  5.100
     libavformat    57.  3.100 / 57.  3.100
     libavdevice    57.  0.100 / 57.  0.100
     libavfilter     6. 11.100 /  6. 11.100
     libswscale      4.  0.100 /  4.  0.100
     libswresample   2.  0.100 /  2.  0.100
     libpostproc    54.  0.100 / 54.  0.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x31e07c0] stream 0, timescale not set
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './1445675270.m4b':
     Metadata:
       major_brand     : M4A
       minor_version   : 0
       compatible_brands: M4A mp42isom
       creation_time   : 2005-08-01 07:26:16
       tool            : ?
       title           : MAKE_2005-08-01
       artist          : MAKE Magazine
       composer        : MAKE Magazine - Phillip Torrone
       album           : Interview with Janus Wireless
       grouping        : MAKE Magazine enhanced podcast
       genre           : Podcast
       date            : 2005
       comment         : Interview with Janus wireless and their 5 Wi-Fi card packet capturing Linux box. This is a special enhanced podcast (this file plays images and links in iTunes and on iPod color devices).
     Duration: 00:02:57.54, start: 0.000000, bitrate: 162 kb/s
       Chapter #0:0: start 0.000000, end 17.000000
       Metadata:
         title           : MAKE Magazine @ DEFCON with JANUS
       Chapter #0:1: start 17.000000, end 37.000000
       Metadata:
         title           : Janus
       Chapter #0:2: start 37.000000, end 83.000000
       Metadata:
         title           : Construction
       Chapter #0:3: start 83.000000, end 109.000000
       Metadata:
         title           : The MAKERs
       Chapter #0:4: start 109.000000, end 177.540000
       Metadata:
         title           : Display
       Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 32 kb/s (default)
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
       Stream #0:1(eng): Subtitle: mov_text (text / 0x74786574), 0 kb/s
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
       Stream #0:2(eng): Video: tiff (tiff / 0x66666974), rgb24, 167x166, 126 kb/s, SAR 206:275 DAR 17201:22825, 0.03 fps, 1 tbr, 22050 tbn, 22050 tbc (default)
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
         encoder         : TIFF (Uncompressed)
       Stream #0:3(eng): Subtitle: mov_text (tx3g / 0x67337874), 160x160, 0 kb/s (default)
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
       Stream #0:4: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 167x166 [SAR 1:1 DAR 167:166], 90k tbr, 90k tbn, 90k tbc
    [swscaler @ 0x3242360] deprecated pixel format used, make sure you did set range correctly
    [libx264 @ 0x3228c40] width not divisible by 2 (167x166)
    Output #0, mp4, to './player/1445675270.mp4':
     Metadata:
       major_brand     : M4A
       minor_version   : 0
       compatible_brands: M4A mp42isom
       comment         : Interview with Janus wireless and their 5 Wi-Fi card packet capturing Linux box. This is a special enhanced podcast (this file plays images and links in iTunes and on iPod color devices).
       tool            : ?
       title           : MAKE_2005-08-01
       artist          : MAKE Magazine
       composer        : MAKE Magazine - Phillip Torrone
       album           : Interview with Janus Wireless
       grouping        : MAKE Magazine enhanced podcast
       genre           : Podcast
       date            : 2005
       Chapter #0:0: start 0.000000, end 17.000000
       Metadata:
         title           : MAKE Magazine @ DEFCON with JANUS
       Chapter #0:1: start 17.000000, end 37.000000
       Metadata:
         title           : Janus
       Chapter #0:2: start 37.000000, end 83.000000
       Metadata:
         title           : Construction
       Chapter #0:3: start 83.000000, end 109.000000
       Metadata:
         title           : The MAKERs
       Chapter #0:4: start 109.000000, end 177.540000
       Metadata:
         title           : Display
       Stream #0:0(eng): Video: h264, none, q=2-31, 128 kb/s, SAR 206:275 DAR 0:0, 1 fps (default)
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
         encoder         : Lavc57.5.100 libx264
       Stream #0:1(eng): Audio: aac, 0 channels, 128 kb/s (default)
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
         encoder         : Lavc57.5.100 libfdk_aac
    Output #1, image2, to './thumb/1445675270.jpg':
     Metadata:
       major_brand     : M4A
       minor_version   : 0
       compatible_brands: M4A mp42isom
       comment         : Interview with Janus wireless and their 5 Wi-Fi card packet capturing Linux box. This is a special enhanced podcast (this file plays images and links in iTunes and on iPod color devices).
       tool            : ?
       title           : MAKE_2005-08-01
       artist          : MAKE Magazine
       composer        : MAKE Magazine - Phillip Torrone
       album           : Interview with Janus Wireless
       grouping        : MAKE Magazine enhanced podcast
       genre           : Podcast
       date            : 2005
       Chapter #1:0: start 0.000000, end 17.000000
       Metadata:
         title           : MAKE Magazine @ DEFCON with JANUS
       Chapter #1:1: start 17.000000, end 37.000000
       Metadata:
         title           : Janus
       Chapter #1:2: start 37.000000, end 83.000000
       Metadata:
         title           : Construction
       Chapter #1:3: start 83.000000, end 109.000000
       Metadata:
         title           : The MAKERs
       Chapter #1:4: start 109.000000, end 177.540000
       Metadata:
         title           : Display
       Stream #1:0(eng): Video: mjpeg, none, q=2-31, 128 kb/s, SAR 206:275 DAR 0:0, 1 fps (default)
       Metadata:
         creation_time   : 2005-08-01 07:26:16
         handler_name    : ?Apple Alias Data Handler
         encoder         : Lavc57.5.100 mjpeg
    Stream mapping:
     Stream #0:2 -> #0:0 (tiff (native) -> h264 (libx264))
     Stream #0:0 -> #0:1 (aac (native) -> aac (libfdk_aac))
     Stream #0:2 -> #1:0 (tiff (native) -> mjpeg (native))
    Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height