Recherche avancée

Médias (1)

Mot : - Tags -/publier

Autres articles (106)

  • 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

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • 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

Sur d’autres sites (11538)

  • FFMPEG Detect volume of streaming (PHP)

    22 septembre 2013, par Mohamed Mostafa

    I spent last 4 days trying to acheive that but with no luck,

    I am trying to detect volume of streaming link or save audio file, using the FFmpeg I tried every single command line.

    ffmpeg -f lavfi -i amovie=sample1.aac,volumedetect -f null -y test.txt

    Output

    There was a problem! Array (
       [0] => FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
       [1] => built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
       [2] => configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
       [3] => libavutil 50.15. 1 / 50.15. 1
       [4] => libavcodec 52.72. 2 / 52.72. 2
       [5] => libavformat 52.64. 2 / 52.64. 2
       [6] => libavdevice 52. 2. 0 / 52. 2. 0
       [7] => libavfilter 1.19. 0 / 1.19. 0
       [8] => libswscale 0.11. 0 / 0.11. 0
       [9] => libpostproc 51. 2. 0 / 51. 2. 0
       [10] => Unknown input format: 'lavf'
    )

    Basically my problem now is :

    Unknown input format: 'lavf'

    Any help please

    My FFMpeg Version is

    [root@bea ~]# ffmpeg -formats | grep lavfi

    FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
    built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
    configuration : —prefix=/usr —libdir=/usr/lib64 —shlibdir=/usr/lib64 —mandir=/usr/share/man —incdir=/usr/include —disable-avisynth —extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector —param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' —enable-avfilter —enable-avfilter-lavf —enable-libdc1394 —enable-libdirac —enable-libfaac —enable-libfaad —enable-libfaadbin —enable-libgsm —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-librtmp —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-libx264 —enable-gpl —enable-nonfree —enable-postproc —enable-pthreads —enable-shared —enable-swscale —enable-vdpau —enable-version3 —enable-x11grab
    libavutil 50.15. 1 / 50.15. 1
    libavcodec 52.72. 2 / 52.72. 2
    libavformat 52.64. 2 / 52.64. 2
    libavdevice 52. 2. 0 / 52. 2. 0
    libavfilter 1.19. 0 / 1.19. 0
    libswscale 0.11. 0 / 0.11. 0
    libpostproc 51. 2. 0 / 51. 2. 0

    From PHP info

    ffmpeg

    ffmpeg-php version 0.6.0-svn
    ffmpeg-php built on Sep 21 2013 15:38:20
    ffmpeg-php gd support enabled
    ffmpeg libavcodec version Lavc52.72.2
    ffmpeg libavformat version Lavf52.64.2
    ffmpeg swscaler version SwS0.11.0

    Directive Local Value Master Value
    ffmpeg.allow_persistent 0 0
    ffmpeg.show_warnings 0 0

  • KLV data in RTP stream

    18 septembre 2013, par Ardoramor

    I have implemented RFC6597 to stream KLV is RTP SMPTE336M packets. Currently, my SDP looks like this :

    v=2
    o=- 0 0 IN IP4 127.0.0.1
    s=Unnamed
    i=N/A
    c=IN IP4 192.168.1.6
    t=0 0
    a=recvonly
    m=video 8202 RTP/AVP 96
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=428028;sprop-parameter-sets=Z0KAKJWgKA9E,aM48gA==;
    a=control:trackID=0
    m=application 8206 RTP/AVP 97
    a=rtpmap:97 smpte336m/1000
    a=control:trackID=1

    I try to remux the RTP stream with FFmpeg like so :

    ffmpeg.exe -i test.sdp -map 0:0 -map 0:1 -c:v copy -c:d copy test.m2ts

    I get the following output with FFmpeg :

    ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
     built on Mar 28 2013 00:34:08 with gcc 4.8.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
     libavutil      52. 18.100 / 52. 18.100
     libavcodec     54. 92.100 / 54. 92.100
     libavformat    54. 63.104 / 54. 63.104
     libavdevice    54.  3.103 / 54.  3.103
     libavfilter     3. 42.103 /  3. 42.103
     libswscale      2.  2.100 /  2.  2.100
     libswresample   0. 17.102 /  0. 17.102
     libpostproc    52.  2.100 / 52.  2.100
    [aac @ 0000000002137900] Sample rate index in program config element does not match the sample rate index configured by the container.
       Last message repeated 1 times
    [aac @ 0000000002137900] decode_pce: Input buffer exhausted before END element found
    [h264 @ 00000000002ce540] Missing reference picture, default is 0
    [h264 @ 00000000002ce540] decode_slice_header error
    [sdp @ 00000000002cfa80] Estimating duration from bitrate, this may be inaccurate
    Input #0, sdp, from 'C:\Users\dragan\Documents\Workspace\Android\uvlens\tests\test.sdp':
     Metadata:
       title           : Unnamed
       comment         : N/A
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Audio: aac, 32000 Hz, 58 channels, fltp
       Stream #0:1: Video: h264 (Baseline), yuv420p, 640x480, 14.83 tbr, 90k tbn, 180k tbc
       Stream #0:2: Data: none
    File 'C:\Users\dragan\Documents\Workspace\Android\uvlens\tests\test.m2ts' already exists. Overwrite ? [y/N] y
    Output #0, mpegts, to 'C:\Users\dragan\Documents\Workspace\Android\uvlens\tests\test.m2ts':
     Metadata:
       title           : Unnamed
       comment         : N/A
       encoder         : Lavf54.63.104
       Stream #0:0: Video: h264, yuv420p, 640x480, q=2-31, 90k tbn, 90k tbc
       Stream #0:1: Data: none
    Stream mapping:
     Stream #0:1 -> #0:0 (copy)
     Stream #0:2 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    [mpegts @ 0000000002159940] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 8583659665 >= 8583656110
    av_interleaved_write_frame(): Invalid argument

    The problem is that KLV stream packets do not contain have a DTS field. According to the RFC6597 STMPE336M, RTP packet structure is the same as a standard structure :

    4.1.  RTP Header Usage

    This payload format uses the RTP packet header fields as described in
    the table below:

    +-----------+-------------------------------------------------------+
    | Field     | Usage                                                 |
    +-----------+-------------------------------------------------------+
    | Timestamp | The RTP Timestamp encodes the instant along a         |
    |           | presentation timeline that the entire KLVunit encoded |
    |           | in the packet payload is to be presented.  When one   |
    |           | KLVunit is placed in multiple RTP packets, the RTP    |
    |           | timestamp of all packets comprising that KLVunit MUST |
    |           | be the same.  The timestamp clock frequency is        |
    |           | defined as a parameter to the payload format          |
    |           | (Section 6).                                          |
    |           |                                                       |
    | M-bit     | The RTP header marker bit (M) is used to demarcate    |
    |           | KLVunits.  Senders MUST set the marker bit to '1' for |
    |           | any RTP packet that contains the final byte of a      |
    |           | KLVunit.  For all other packets, senders MUST set the |
    |           | RTP header marker bit to '0'.  This allows receivers  |
    |           | to pass a KLVunit for parsing/decoding immediately    |
    |           | upon receipt of the last RTP packet comprising the    |
    |           | KLVunit.  Without this, a receiver would need to wait |
    |           | for the next RTP packet with a different timestamp to |
    |           | arrive, thus signaling the end of one KLVunit and the |
    |           | start of another.                                     |
    +-----------+-------------------------------------------------------+

    The remaining RTP header fields are used as specified in [RFC3550].

    Header from RFC3550 :

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |V=2|P|X|  CC   |M|     PT      |       sequence number         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           timestamp                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           synchronization source (SSRC) identifier            |
    +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
    |            contributing source (CSRC) identifiers             |
    |                             ....                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    RFC's note about placement of KLV data into RTP packet :

    KLVunits small enough to fit into a single RTP
    packet (RTP packet size is up to the implementation but should
    consider underlying transport/network factors such as MTU
    limitations) are placed directly into the payload of the RTP packet,
    with the first byte of the KLVunit (which is the first byte of a KLV
    Universal Label Key) being the first byte of the RTP packet payload.

    My question is where does FFmpeg keep looking for the DTS ?

    Does it interpret the Timestamp field of the RTP packet header as DTS ? If so, I've verified that the timestamps increase (although at different rates) but are not equal to what FFmpeg prints out :

    8583659665 >= 8583656110

  • webm local udp streaming using FFMPEG

    1er octobre 2013, par siniv

    I was just started to use ffmpeg recently and stumbled on this streaming problem.
    Scenario : i want to live stream a webcam in local network. Both server and client will be using windows platform.

    Current feasible solution : using ffmpeg simple command line

    to test it quickly i tried to locally stream it (the input doesn't really matter btw in this question).

    On server -> ffmpeg -f dshow -i video="cam1":audio="mic1" -r 30 -g 0 -vcodec h264 -acodec libmp3lame -tune zerolatency -preset ultrafast -f mpegts udp://localhost:6789
    On client(the same computer) -> ffplay udp://localhost:6789

    The above works just fine, except for the latency, which i'm getting at about 1-2 second delay.

    Now i want to try to change the encoder to use libvpx (vp8) for video and vorbis for audio (i changed the input to a pre-recorded h264 video, but it really doesn't matter)

    On server
       >ffmpeg -i "suits.mp4" -r 30 -g 0 -vcodec libvpx -acodec vorbis -strict -2 -f webm -f mpegts udp://localhost:6789
        On client(the same computer) -> ffplay udp://localhost:6789
    However this doesn't work... And below are console outputs:
       > onserver ->
       > ffmpeg version N-56165-gae12d65 Copyright (c) 2000-2013 the FFmpeg
       > developers   built on Sep 10 2013 19:42:46 with gcc 4.7.3 (GCC)  
       > configuration: --enable-gpl --enable-version3 --disable-w32threads
       > --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib   libavutil      52. 43.100 / 52. 43.100   libavcodec     55. 31.101 / 55. 31.101   libavformat    55. 16.102 / 55. 16.102   libavdevice    55.  3.100 / 55.  3.100   libavfilter     3. 84.100 /  3. 84.100   libswscale      2.  5.100 /
       > 2.  5.100   libswresample   0. 17.103 /  0. 17.103   libpostproc    52.  3.100 / 52.  3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Suits.mp4':   Metadata:
       >     major_brand     : isom
       >     minor_version   : 1
       >     compatible_brands: isom
       >     creation_time   : 2011-09-08 11:43:25   Duration: 00:42:14.87, start: 0.000000, bitrate: 882 kb/s
       >     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 720x402 [SAR 1:1 DAR 120:67], 750 kb/s, 23.98 fps,
       > 23.98 tbr, 24k tbn, 47.95 tbc (default)
       >     Metadata:
       >       creation_time   : 2011-09-08 11:43:25
       >     Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
       >     Metadata:
       >       creation_time   : 2011-09-08 11:43:25 [libvpx @ 05392a80] v1.2.0 Output #0, mpegts, to 'udp://localhost:6789':   Metadata:
       >     major_brand     : isom
       >     minor_version   : 1
       >     compatible_brands: isom
       >     encoder         : Lavf55.16.102
       >     Stream #0:0(und): Video: vp8 (libvpx), yuv420p, 720x402 [SAR 1:1 DAR 120:67], q=-1--1, 200 kb/s, 90k tbn, 30 tbc (default)
       >     Metadata:
       >       creation_time   : 2011-09-08 11:43:25
       >     Stream #0:1(und): Audio: vorbis, 48000 Hz, stereo, fltp (default)
       >     Metadata:
       >       creation_time   : 2011-09-08 11:43:25 Stream mapping:   Stream #0:0 -> #0:0 (h264 -> libvpx)   Stream #0:1 -> #0:1 (aac -> vorbis) Press [q] to stop, [?] for help frame=42535 fps= 51 q=0.0 Lsize=
       > 143539kB time=00:23:38.28 bitrate= 829.1kbits/s dup=8541 drop=0    
       > video:99155kB audio:28125kB subtitle:0 global headers:3kB muxing
       > overhead 12.772155% Received signal 2: terminating.

    > on client    
    > ffplay version N-56165-gae12d65 Copyright (c) 2003-2013 the FFmpeg
    > developers   built on Sep 10 2013 19:42:46 with gcc 4.7.3 (GCC)  
    > configuration: --enable-gpl --enable-version3 --disable-w32threads
    > --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib   libavutil      52. 43.100 / 52. 43.100   libavcodec     55. 31.101 / 55. 31.101   libavformat    55. 16.102 / 55. 16.102   libavdevice    55.  3.100 / 55.  3.100   libavfilter     3. 84.100 /  3. 84.100   libswscale      2.  5.100 /
    > 2.  5.100   libswresample   0. 17.103 /  0. 17.103   libpostproc    52.  3.100 / 52.  3.100
    >     nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   [mpegts @ 02eb8620] probed stream 0 failed
    >     nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   [mp3 @ 02ed75a0] Header missing
    >     Last message repeated 1 times [mp3 @ 02ed75a0] Header missing
    >     La    Last message repeated 13 times
    >     nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   [mp3 @ 02ed75a0] Header missing  Last message repeated 13 times
    >     nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   [mp3 @ 02ed75a0] Header missing    Last message repeated 9 times
    >     nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   [mp3 @ 02ed75a0] Header missing [mpegts @ 02eb8620] decoding for
    > stream 1 failed [mpegts @ 02eb8620] Could not find codec parameters
    > for stream 0 (Unknown: none ([6][0][0][0] / 0x0006)): unknown codec
    > Consider increasing the value for the 'analyzeduration' and
    > 'probesize' options [mpegts @ 02eb8620] Could not find codec
    > parameters for stream 1 (Audio: mp3 ([6][0][0][0] / 0x0006), 0
    > channels, s16p): unspecified frame size Consider increasing the value
    > for the 'analyzeduration' and 'probesize' options
    > udp://localhost:6789: could not find codec parameters

    So does the point to point streaming for ffmpeg just doesn't work for vp8 or am i missing something ? Btw, the end goal is to create a similar video chat based framework and i'll appreciate any suggestion. I'm reading up on webRTC now.