Recherche avancée

Médias (1)

Mot : - Tags -/bug

Autres articles (71)

  • 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

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (10558)

  • Latency and DAF in RTP transmissions

    24 février 2023, par jfernandz

    I'm trying to perform some tests for audio RTP transmissions to know their technical limitations. The idea is to prevent DAF effect in this kind of transmissions, I'm assuming a latency lower than 50ms will prevent it. But there is another handicap in my analysis, the RTP transmission must be over WiFi.

    


    For this tests I'm trying to transmit raw audio (not sure if skipping the encoding stage will improve latency) through ffmpeg between two different laptops, so I'm running ffmpeg in the first laptop (172.20.1.2) as :

    


    $ ffmpeg -f pulse -i 56 -c copy -f rtp rtp://172.20.1.5:10000

    


    which produces the following output :

    


    ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, pulse, from '56':
  Duration: N/A, start: 1677234050.938677, bitrate: 1536 kb/s
  Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Output #0, rtp, to 'rtp://172.20.1.5:10000':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 172.20.1.5
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 10000 RTP/AVP 97
b=AS:1536

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=     322kB time=00:00:01.67 bitrate=1573.6kbits/s speed=1.06x


    


    I'm assuming the shown SDP is a valid one :

    


    v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 172.20.1.5
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 10000 RTP/AVP 97
b=AS:1536


    


    So I saved it in a file called ccopy.sdp on the second laptop (172.20.1.5). However, when I run ffplay in this other laptop as :

    


    $ ffplay -protocol_whitelist file,rtp,udp -i ccopy.sdp

    


    I can see there is problems with this SDP :

    


    ffplay version n5.1.2 Copyright (c) 2003-2022 the FFmpeg developers
  built with gcc 12.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
[sdp @ 0x7f8eec000c80] Could not find codec parameters for stream 0 (Audio: none, 0 channels): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, sdp, from 'ccopy.sdp':
  Metadata:
    title           : No Name
  Duration: N/A, bitrate: N/A
  Stream #0:0: Audio: none, 0 channels
Failed to open file 'ccopy.sdp' or configure filtergraph
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   


    


    Not sure if I'm doing something wrong or this is because of I cannot actually use pcm_s16le for an RTP transmission. Moreover ... Is there some argument for ffmpeg that I can use to improve this RTP transmission and reduce latency under 50ms.

    


    Thank you all :-)

    


    PS : When I don't use -c copy argument for ffmpeg and therefore I have this SDP

    


    v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 172.20.1.5
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 10000 RTP/AVP 97
b=AS:768
a=rtpmap:97 PCMU/48000/2


    


    The RTP transmission works as I expect, but with a significant DAF.

    


  • FFMPEG parameter -sseof position is not “cutting” as expected

    9 mai 2020, par Vitalii

    I have a regular recording of the desktop screen, indefinite in time. I want to keep in memory, only the last 30 seconds. My command looks like this, where I try to cut the video of the last 30 seconds, using -sizeof -30. But the entire length of the video is saved.
    
avfoundation -i '1' it's my macbook screen

    



    ffmpeg -rtbufsize 300M -sseof -30 -f avfoundation -i '1' -c:v libx264 -preset ultrafast -tune zerolatency -crf 25 ~/Desktop/output.mkv


    



    System Macos 10.15
    
ffmpeg version 4.2.2

    



    My full log

    



    ffmpeg -rtbufsize 300M -sseof -30  -f avfoundation -i '1' -c:v libx264 -preset ultrafast -tune zerolatency -crf 25 ~/Desktop/output.mkv
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.3 (clang-1103.0.32.59)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_3 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[AVFoundation input device @ 0x7fec8551cec0] Configuration of video device failed, falling back to default.
[avfoundation @ 0x7fec8600a200] Selected pixel format (yuv420p) is not supported by the input device.
[avfoundation @ 0x7fec8600a200] Supported pixel formats:
[avfoundation @ 0x7fec8600a200]   uyvy422
[avfoundation @ 0x7fec8600a200]   yuyv422
[avfoundation @ 0x7fec8600a200]   nv12
[avfoundation @ 0x7fec8600a200]   0rgb
[avfoundation @ 0x7fec8600a200]   bgr0
[avfoundation @ 0x7fec8600a200] Overriding selected pixel format to use uyvy422 instead.
[avfoundation @ 0x7fec8600a200] Stream #0: not enough frames to estimate rate; consider increasing probesize
Cannot use -sseof, duration of 1 not known
Input #0, avfoundation, from '1':
  Duration: N/A, start: 107388.118500, bitrate: N/A
    Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 2560x1600, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7fec869bee00] MB rate (16000000000) > level limit (16711680)
[libx264 @ 0x7fec869bee00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fec869bee00] profile High 4:2:2, level 6.2, 4:2:2 8-bit
[libx264 @ 0x7fec869bee00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=25.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, matroska, to '/Users/vitalii-artec3d/Desktop/output.mkv':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv422p, 2560x1600, q=-1--1, 1000k fps, 1k tbn, 1000k tbc
    Metadata:
      encoder         : Lavc58.54.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame=  322 fps= 30 q=19.0 Lsize=     947kB time=00:00:10.80 bitrate= 718.0kbits/s speed=0.998x    
video:943kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.382723%
[libx264 @ 0x7fec869bee00] frame I:2     Avg QP:19.00  size:465715
[libx264 @ 0x7fec869bee00] frame P:320   Avg QP:19.30  size:   105
[libx264 @ 0x7fec869bee00] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x7fec869bee00] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.1%  0.0%  0.0%  0.0%  0.0%    skip:99.9%
[libx264 @ 0x7fec869bee00] coded y,uvDC,uvAC intra: 36.9% 24.9% 21.0% inter: 0.0% 0.1% 0.0%
[libx264 @ 0x7fec869bee00] i16 v,h,dc,p: 66% 28%  4%  2%
[libx264 @ 0x7fec869bee00] i8c dc,h,v,p: 70% 16% 12%  1%
[libx264 @ 0x7fec869bee00] kb/s:23977740.00


    


  • FFmpeg : convert .mpg video to .mp4 without losing quality

    20 novembre 2024, par reterius

    How can I convert a .mpg video to .mp4 without losing quality ? My attempts below :

    


    $INCPATH = dirname(__FILE__).'/';

$id = 99999;
$ext = "MPG";

$input_dir = $INCPATH."../img/videos/".$id.".".$ext ;
$output_dir2 = $INCPATH."../img/videos/".$id.".mp4" ;

$q = '/usr/bin/ffmpeg -i '.$input_dir.' -c:v libx264 -c:a libfaac -r     30 '.$output_dir2." 2>&1" ;

$out = shell_exec($q) ;
$input_dir  = $output_dir2 ;

echo var_dump($out);


    


    Output of running that script :

    


    string(5735) "ffmpeg version N-76539-g480bad7-syslint Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
  configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint
  libavutil      55.  5.100 / 55.  5.100
  libavcodec     57. 15.100 / 57. 15.100
  libavformat    57. 14.100 / 57. 14.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 15.100 /  6. 15.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mpeg, from '/home/imcajans/public_html/kzmk/../img/videos/99999.MPG':
  Duration: 00:00:08.16, start: 0.116600, bitrate: 2955 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
[libx264 @ 0x161e820] using SAR=64/45
[libx264 @ 0x161e820] using cpu capabilities: none!
[libx264 @ 0x161e820] profile High, level 3.1
[libx264 @ 0x161e820] 264 - core 148 r2638 7599210 - 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=18 lookahead_threads=3 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
Output #0, mp4, to '/home/imcajans/public_html/kzmk/../img/videos/99999.mp4':
  Metadata:
    encoder         : Lavf57.14.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=-1--1, 30 fps, 15360 tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.15.100 libx264
    Stream #0:1: Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, s16, 128 kb/s
    Metadata:
      encoder         : Lavc57.15.100 libfaac
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfaac))
Press [q] to stop, [?] for help
frame=   48 fps=0.0 q=0.0 size=       0kB time=00:00:01.19 bitrate=   0.3kbits/s dup=8 drop=0    
frame=   66 fps= 58 q=29.0 size=      20kB time=00:00:01.83 bitrate=  87.2kbits/s dup=11 drop=0    
frame=   77 fps= 43 q=29.0 size=      51kB time=00:00:02.17 bitrate= 190.3kbits/s dup=13 drop=0    
frame=   89 fps= 38 q=29.0 size=      86kB time=00:00:02.60 bitrate= 272.2kbits/s dup=15 drop=0    
frame=  101 fps= 34 q=29.0 size=     124kB time=00:00:02.98 bitrate= 340.6kbits/s dup=17 drop=0    
frame=  114 fps= 32 q=29.0 size=     166kB time=00:00:03.39 bitrate= 400.3kbits/s dup=19 drop=0    
frame=  126 fps= 31 q=29.0 size=     201kB time=00:00:03.84 bitrate= 428.3kbits/s dup=21 drop=0    
frame=  137 fps= 30 q=29.0 size=     236kB time=00:00:04.20 bitrate= 459.6kbits/s dup=23 drop=0    
frame=  151 fps= 29 q=29.0 size=     275kB time=00:00:04.65 bitrate= 484.2kbits/s dup=25 drop=0    
frame=  165 fps= 29 q=29.0 size=     316kB time=00:00:05.12 bitrate= 505.4kbits/s dup=27 drop=0    
frame=  177 fps= 28 q=29.0 size=     350kB time=00:00:05.50 bitrate= 521.3kbits/s dup=29 drop=0    
frame=  188 fps= 27 q=29.0 size=     387kB time=00:00:05.93 bitrate= 534.6kbits/s dup=31 drop=0    
frame=  198 fps= 27 q=29.0 size=     419kB time=00:00:06.25 bitrate= 548.7kbits/s dup=33 drop=0    
frame=  212 fps= 27 q=29.0 size=     461kB time=00:00:06.72 bitrate= 562.4kbits/s dup=35 drop=0    
frame=  223 fps= 26 q=29.0 size=     495kB time=00:00:07.04 bitrate= 576.6kbits/s dup=37 drop=0    
frame=  240 fps= 26 q=29.0 size=     574kB time=00:00:07.59 bitrate= 618.9kbits/s dup=40 drop=0    
frame=  245 fps= 20 q=-1.0 Lsize=     834kB time=00:00:08.17 bitrate= 835.9kbits/s dup=41 drop=0    
video:696kB audio:128kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.134396%
[libx264 @ 0x161e820] frame I:2     Avg QP:22.05  size: 10777
[libx264 @ 0x161e820] frame P:187   Avg QP:22.67  size:  3323
[libx264 @ 0x161e820] frame B:56    Avg QP:23.98  size:  1242
[libx264 @ 0x161e820] consecutive B-frames: 54.7% 44.1%  1.2%  0.0%
[libx264 @ 0x161e820] mb I  I16..4: 33.5% 63.9%  2.5%
[libx264 @ 0x161e820] mb P  I16..4:  1.9%  1.8%  0.0%  P16..4: 46.9%  4.7%  6.4%  0.0%  0.0%    skip:38.3%
[libx264 @ 0x161e820] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 34.4%  0.5%  0.0%  direct: 3.1%  skip:61.8%  L0:41.1% L1:57.8% BI: 1.1%
[libx264 @ 0x161e820] 8x8 transform intra:51.1% inter:96.1%
[libx264 @ 0x161e820] coded y,uvDC,uvAC intra: 25.1% 86.2% 30.4% inter: 9.5% 38.5% 1.1%
[libx264 @ 0x161e820] i16 v,h,dc,p: 41%  5% 11% 43%
[libx264 @ 0x161e820] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36%  6% 48%  1%  1%  3%  1%  3%  1%
[libx264 @ 0x161e820] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 54% 10% 15%  3%  3%  8%  2%  5%  2%
[libx264 @ 0x161e820] i8c dc,h,v,p: 66% 12% 18%  3%
[libx264 @ 0x161e820] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x161e820] ref P L0: 66.7%  5.8% 17.5% 10.0%
[libx264 @ 0x161e820] ref B L0: 81.1% 18.9%  0.0%
[libx264 @ 0x161e820] ref B L1: 99.5%  0.5%
[libx264 @ 0x161e820] kb/s:697.87
"


    


    My video with the .mpg extension at its best quality : https://imcajans.com/img/videos/99999.mpg

    


    And the .mp4 video which was coverted from .mpg (bad quality) : https://imcajans.com/img/videos/99999.mp4