Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (82)

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

  • cannot hear audio after saving RTSP stream as ts or avi or mp4 files using ffmpeg command

    28 mai 2022, par ewang

    I am still new to ffmpeg and trying to save RTSP stream from the IP camera (Meraki MV2) via RTSP link (rtsp ://192.168.0.80:9000/live) to local laptop (Windows 10) as ts file, or avi or mp4 files, but none of them can hear sound. In Meraki MV2 camera dashboard audio is enabled
meraki dashboard audio enabled screenshot

    


    And below is the ffmpeg command i used :

    


    ffmpeg -use_wallclock_as_timestamps 1 -rtsp_transport tcp -i rtsp://192.168.0.80:9000/live -f mpegts -b 400k -r 25 -vcodec libx264 -s 640x480 -aspect 4:3 -bufsize 6000k -acodec aac -ab 56k -ac 2 -ar 22050 -bf 0 -level 30 -y record_a_v.ts


    


    In below part of the result log, noticed Steam mapping has a #0:1 -> #0:0 and #0:0 -> #0:1, is it supposed to be crossed or not really ?

    


    Input #0, rtsp, from 'rtsp://192.168.0.80:9000/live':
  Metadata:
    title           : www rtsp live
    comment         : LIVE555 Streaming Media v2017.01.26
  Duration: N/A, start: 1653723857.755958, bitrate: N/A
  Stream #0:0: Audio: aac (LC), 48000 Hz, mono, fltp
  Stream #0:1: Video: h264 (High), yuvj420p(pc, smpte170m, progressive), 1920x1080, 90k tbr, 90k tbn
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (aac (native) -> aac (native))


    


    Here are the last section of the result log :

    


        Last message repeated 4 times
Error while decoding stream #0:0: Invalid argument:00:09.44 bitrate=  79.3kbits/s dup=0 drop=2 speed=1.38x
    Last message repeated 1 times
[aac @ 0000027bec8ee780] Queue input is backward in time
Error while decoding stream #0:0: Invalid argument
[mpegts @ 0000027bee8cfac0] Non-monotonous DTS in output stream 0:1; previous: 868241, current: 867392; changing to 868242. This may result in incorrect timestamps in the output file.
Error while decoding stream #0:0: Invalid argument
    Last message repeated 12 times
Error while decoding stream #0:0: Invalid argument:00:09.90 bitrate= 111.7kbits/s dup=0 drop=2 speed=1.35x
    Last message repeated 6 times
Error while decoding stream #0:0: Invalid argument:00:10.51 bitrate= 121.5kbits/s dup=0 drop=2 speed=1.34x
    Last message repeated 19 times
Error while decoding stream #0:0: Invalid argument:00:11.01 bitrate= 137.9kbits/s dup=0 drop=2 speed=1.31x
    Last message repeated 10 times
Error while decoding stream #0:0: Invalid argument:00:11.51 bitrate= 145.2kbits/s dup=0 drop=2 speed=1.29x
    Last message repeated 9 times
Error while decoding stream #0:0: Invalid argument:00:12.12 bitrate= 154.5kbits/s dup=0 drop=2 speed=1.29x
    Last message repeated 21 times
Error while decoding stream #0:0: Invalid argument:00:12.50 bitrate= 167.7kbits/s dup=0 drop=2 speed=1.26x
    Last message repeated 8 times
Error while decoding stream #0:0: Invalid argument:00:13.08 bitrate= 160.2kbits/s dup=0 drop=2 speed=1.25x
    Last message repeated 11 times
Error while decoding stream #0:0: Invalid argument:00:13.61 bitrate= 154.0kbits/s dup=0 drop=2 speed=1.24x
    Last message repeated 8 times
Error while decoding stream #0:0: Invalid argument:00:14.11 bitrate= 148.5kbits/s dup=0 drop=2 speed=1.23x
    Last message repeated 16 times
Error while decoding stream #0:0: Invalid argument:00:14.61 bitrate= 143.5kbits/s dup=0 drop=2 speed=1.22x
    Last message repeated 10 times
Error while decoding stream #0:0: Invalid argument:00:15.14 bitrate= 138.4kbits/s dup=0 drop=2 speed=1.21x
    Last message repeated 18 times
Error while decoding stream #0:0: Invalid argument:00:15.62 bitrate= 134.2kbits/s dup=0 drop=2 speed= 1.2x
    Last message repeated 6 times
Error while decoding stream #0:0: Invalid argument:00:16.14 bitrate= 129.9kbits/s dup=0 drop=2 speed=1.19x
    Last message repeated 15 times
Error while decoding stream #0:0: Invalid argument:00:16.64 bitrate= 251.9kbits/s dup=0 drop=2 speed=1.19x
    Last message repeated 9 times
Error while decoding stream #0:0: Invalid argument:00:17.11 bitrate= 245.1kbits/s dup=0 drop=2 speed=1.18x
    Last message repeated 15 times
frame=  125 fps=8.3 q=27.0 size=     512kB time=00:00:17.66 bitrate= 237.5kbits/s dup=0 drop=2 speed=1.17x

[q] command received. Exiting.

frame=  125 fps=8.2 q=-1.0 Lsize=     922kB time=00:00:17.75 bitrate= 425.1kbits/s dup=0 drop=2 speed=1.16x
video:843kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.064729%
[libx264 @ 0000027bee8cd640] frame I:1     Avg QP:17.27  size: 54983
[libx264 @ 0000027bee8cd640] frame P:124   Avg QP:22.65  size:  6516
[libx264 @ 0000027bee8cd640] mb I  I16..4:  4.2% 60.5% 35.2%
[libx264 @ 0000027bee8cd640] mb P  I16..4:  0.1%  2.4%  0.4%  P16..4: 39.2% 11.9% 10.2%  0.0%  0.0%    skip:35.9%
[libx264 @ 0000027bee8cd640] 8x8 transform intra:77.2% inter:55.0%
[libx264 @ 0000027bee8cd640] coded y,uvDC,uvAC intra: 93.1% 91.5% 65.1% inter: 26.5% 37.1% 6.2%
[libx264 @ 0000027bee8cd640] i16 v,h,dc,p:  8%  2%  8% 81%
[libx264 @ 0000027bee8cd640] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11%  9% 24%  5% 16% 12% 12%  6%  6%
[libx264 @ 0000027bee8cd640] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25%  9% 16%  6% 11% 14%  6%  6%  6%
[libx264 @ 0000027bee8cd640] i8c dc,h,v,p: 64% 12% 20%  5%
[libx264 @ 0000027bee8cd640] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000027bee8cd640] ref P L0: 77.9% 10.9%  7.7%  3.5%
[libx264 @ 0000027bee8cd640] kb/s:435.85
[aac @ 0000027bec8ee780] Qavg: 65536.000


    


    Can anyone help checking where went wrong ? Thanks

    


  • ffmpeg GPU use cuvid with hwdownload will never finished, Appeared only recently

    28 mai 2020, par tags bt

    ffmpeg :

    



    ffmpeg version N-97331-g10a68cc Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --pkg-config-flags=--static --prefix=/usr/local/ffmpeg --bindir=/usr/local/ffmpeg/bin --extra-cflags='-I /usr/local/ffmpeg/include -I /usr/local/cuda/include/' --extra-ldflags='-L /usr/local/ffmpeg/lib -L /usr/local/cuda/lib64/' --extra-libs=-lpthread --enable-cuda --enable-cuda-nvcc --enable-cuvid --enable-libnpp --enable-gpl --enable-libass --enable-libfdk-aac --enable-vaapi --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libaom --enable-nvenc


    



    nvidia-msi

    



    +-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82       Driver Version: 440.82       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:02:00.0 Off |                  N/A |
|  0%   51C    P8    13W / 200W |     18MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     23224      C   ffmpeg                                         8MiB |
+-----------------------------------------------------------------------------+



    



    if i use this command :

    



    ffmpeg -re -threads 0 -loglevel debug -hwaccel cuvid -hwaccel_output_format cuda -i 1.mp4 -c:v h264_nvenc -c:a aac -ac 2 -b:a 128k -strict -2 -filter_complex "[0:v]scale_npp=1280:-2" ouzz2t.mp4


    



    it will very fast.

    



    but if i use this command :

    



    ffmpeg -re -threads 0 -loglevel debug -vsync 0 -hwaccel cuvid -hwaccel_output_format cuda -hwaccel_device intel -i 1.mp4 -c:v h264_nvenc -c:a aac -ac 2 -b:a 128k -strict -2 -filter_complex "[0:v]scale_npp=1280:-2:format=yuv420p[tmp],[tmp]hwdownload,format=yuv420" ouzz2t.mp4


    



    it will never finished, one 40MB mp4 will transcode 44 minutes and not finished.

    



    as you see

    



    +-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     23224      C   ffmpeg                                         8MiB |
+-----------------------------------------------------------------------------+


    



    it will only use GPU memory 8mib.

    



    and top will show :
enter image description here

    



    delug log :

    



    [AVHWDeviceContext @ 0x561cfaef92c0] Loaded lib: libcuda.so.1
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuInit
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetCount
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGet
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetAttribute
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetName
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceComputeCapability
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxCreate_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxSetLimit
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxPushCurrent_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxPopCurrent_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxDestroy_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemAlloc_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemAllocPitch_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemsetD8Async
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemFree_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemcpy2D_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemcpy2DAsync_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGetErrorName
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGetErrorString
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxGetDevice
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxRetain
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxRelease
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxSetFlags
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxGetState
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxReset
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamCreate
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamQuery
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamSynchronize
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamDestroy_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamAddCallback
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventCreate
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventDestroy_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventSynchronize
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventQuery
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventRecord
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuLaunchKernel
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuModuleLoadData
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuModuleUnload
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuModuleGetFunction
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuTexObjectCreate
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuTexObjectDestroy
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGLGetDevices_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsGLRegisterImage
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsUnregisterResource
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsMapResources
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsUnmapResources
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsSubResourceGetMappedArray
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetUuid
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuImportExternalMemory
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDestroyExternalMemory
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuExternalMemoryGetMappedBuffer
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuExternalMemoryGetMappedMipmappedArray
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMipmappedArrayGetLevel
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMipmappedArrayDestroy
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuImportExternalSemaphore
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDestroyExternalSemaphore
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuSignalExternalSemaphoresAsync
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuWaitExternalSemaphoresAsync



    



    Stop at Loaded sym : cuWaitExternalSemaphoresAsync, and ffmpeg will always 100% cpu and never finished.

    



    Appeared only recently, last week it work fine, but today it work worse.

    



    somebody know what happen to me ?

    


  • Evolution #3899 (Nouveau) : Comportement des inclusions avec le paramètre connect.

    10 février 2017

    Il y a un comportement contre-intuitif dans un cas d’usage des inclusions et du paramètre connect, ce qu’à révélé une petite analyse dans #3823.
    J’en fais un ticket dédié car c’est un problème distinct de ce qui est soulevé là bas.

    Fonctionnement actuel

    Le paramètre d’URL connect

    Le paramètre connect=truc dans une URL d’un site SPIP permet d’indiquer à SPIP qu’il doit utilise le connecteur SQL ’truc’ dans les squelettes et les boucles utilisés,
    et donc utiliser config/truc.php en lieu et place de config/connect.php. À différents endroits du compilateur, ce paramètre est séparé du contexte d’environnement
    du squelette, notamment dans les boucles où il atterrit dans $boucles[$idb]->sql_serveur et sera utilisé pour les requêtes SQL générées.

    Inclusions en indiquant un connect spécifique

    Une autre manière d’indiquer que les squelettes / boucles utilisent un connecteur spécifique est de transmettre l’environnement connect=truc aux inclusions, de la sorte :

    #INCLUREfond=test, connect=truc

    Cette option d’inclusion est prise en compte dans recuperer_fond().

    Inclusion connect=truc et paramètre d’url connect=bidule

    Lorsqu’on a à la fois dans l’URL &connect=bidule, et une inclusion qui indique un connect spécifique tel que #INCLURE{fond=test, connect=truc}
    alors d’inclusion actuellement est chargée avec le paramètre d’URL, c’est à dire en utilisant connect=bidule.
    C’est cela qui est assez contre-intuitif et logiquement non désiré (le connect forcé ici devrait prendre le pas sur celui d’environnement).

    Comment améliorer ?

    Où cela se passe dans le code ?

    Ce qui se passe lorsqu’il y a cette écriture est, comme expliqué, que le connect dans l’URL reste prioritaire sur celui de l’argument transmis à #INCLURE ou <inclure></inclure>.

    Solutions ?

    À ces 2 endroits, il faudrait du coup prendre en compte en priorité le $contexte['connect'] si existant

    • soit dans les 2 appels à la constante CODE_RECUPERER_FOND plutôt que d’écrire directement _request('connect'), mais c’est un peu compliqué car c’est du code compilé
    • soit directement dans recuperer_fond(), plus facile, inverser l’ordre :
          if (isset($contexte[’connect’])) 
              $connect = ($connect ? $connect : $contexte[’connect’]) ;
              unset($contexte[’connect’]) ;
          
      


      deviendrait :

          if (isset($contexte[’connect’])) 
              $connect = $contexte[’connect’] ;
              unset($contexte[’connect’]) ;
          
      

    Cette dernière correction serait la plus simple et la plus facile. Ça permettrait même d’annuler un connect superieur dans une inclusion
    en passant {connect=''}.

    Des avis ?