
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (88)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Le plugin : Gestion de la mutualisation
2 mars 2010, parLe plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
Installation basique
On installe les fichiers de SPIP sur le serveur.
On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
< ?php (...)
Sur d’autres sites (8063)
-
ffmpeg - pipe metadata about stream
4 février 2021, par Mike S.I'm in process of writing an app which should process live AV stream and do some magic. Well, it should just display some audio levels.


So far, everything works with one exception. The problem is that I'm piping the stream from basically unknown source (it may be whatever) and I can only guess the channel count and the sample rate.


Is there a way how ffmpeg can tell me this ? Right now, I'm using following command to execute ffmpeg :


ffmpeg -loglevel 40 -hide_banner -re -i pipe:0 -vn -f s16le -acodec pcm_s16le
 pipe:3 -progress pipe:4 -f ffmetadata pipe:5



But ffmetadata is empty and progress does not contain any of required info. I've found ffprobe, which could tell me all I need and then I would kill it, but I believe there is a way to achieve the same with just ffmpeg (and without parsing its stdout).


Thank you !


-
Batch file - Using pipe command after opening a cmd prompt
20 janvier 2021, par Julien nistI am currently trying to create a batch file which will do the following :


- 

- Open a cmd prompt
- Execute a ffmpeg | sox (audio shenanigans for my project)
- Open another cmd prompt
- Execute the same ffmpeg | sox with different parameters
- ...












My current script is as follow :


start /min cmd /k "ffmpeg -i http://localhost:8000/xxx -f flac - | sox - -t flac E:\Extracts\xxx.flac silence 1 0.50 0.1% 1 2.0 0.1% : newfile : restart"



But when executing this, only the first ffmpeg part will be effectively executed in the new prompt. The command is working well if launched manually though.


Any idea on why the redirection doesn't work ? I tried to split the cmd with variable names, and a couple workaround but no solution atm.


Thanks a lot


Julien


-
FFMPEG raises exception only when writing to pipe
13 janvier 2021, par user14893379I am currently writing a small application in Python that gets audio from a Youtube Link and converts this into wave data for visualization. I am using Pafy to get the appropriate URL, ffmpeg-python for the conversion, and matplotlib for visualization.


Currently, I am trying to skip the step of downloading the file to a local directory and instead want to write it directly into ffmpeg's pipe, so I can process it directly.


The function is the following :


import pafy
import os
import ffmpeg
import numpy as np
import matplotlib.pyplot as plt
import wave

def getaudio(url, filename='temp.wav'):
 if os.path.exists(filename):
 os.remove(filename)
 source = pafy.new(url).getbestaudio(preftype='m4a').url
 try:
 out, _ = (
 ffmpeg.input(source)
 .output(filename, format='wav')
 .run(capture_stdout=True, capture_stderr=True)
 )
 except ffmpeg._run.Error as e:
 print(e.stderr.decode('utf-8'))
 raise e
 w = wave.open('temp.wav', 'r').readframes(-1)
 audio = np.frombuffer(w, dtype=np.int16)
 return audio


url = 'https://www.youtube.com/watch?v=bhZs3ALdL7Y'
audio = getaudio(url)
plt.plot(audio)
plt.show()




This works in general - however this does two things : It returns the audio so it can be opened with the wave package, and it also saves it as 'temp.wav' to the current directory, which I would like to skip by replacing the 'temp.wav' output with 'pipe :' :


try:
 out, _ = (
 ffmpeg.input(source)
 .output('pipe:', format='wav')
 .run(capture_stdout=True, capture_stderr=True)
 )
 except ffmpeg._run.Error as e:
 print(e.stderr.decode('utf-8'))
 raise e



This raises an exception with the following output for stderr :


ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid 
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
 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
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://r4---sn-h0jelne7.googlevideo.com/videoplayback?expire=1610319670&ei=1jL7X_uZIoeC6dsP9Z6nsA8&ip=2a02%3A810d%3Aabbf%3Abeed%3A98a1%3Ae204%3A805c%3Aa5b1&id=o-AGmTIS4LdQhQz5h7nplFZ0h5iWHR3KxieH44x8mIvXab&itag=140&source=youtube&requiressl=yes&mh=dj&mm=31%2C26&mn=sn-h0jelne7%2Csn-4g5e6nzz&ms=au%2Conr&mv=m&mvi=4&pl=33&initcwndbps=1885000&vprv=1&mime=audio%2Fmp4&ns=qyAm3FG5c0DyOAH11rcQFxYF&gir=yes&clen=55649&dur=3.459&lmt=1508976590967371&mt=1610297792&fvip=4&keepalive=yes&c=WEB&n=YvU_SOWuTrPG1W&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgLR-oEO3oWoBfBGslerzo-jO57JhY-xbfKxQJ1GcnpscCIAhuoixcr1X_uDGiUuJ5IbPD2zynF-R8Qp5BjQqSWUaF&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAO9pxuDZZeOd6pESsk4tjlpzDJeCnSqPv4G1-zJKoDI1AiEAjjwkSBZeeEivgAU_DRdnI-GokWQ3P-6gKhdGHe9Za7o%3D&ratebypass=yes':
 Metadata:
 major_brand : dash
 minor_version : 0
 compatible_brands: iso6mp41
 creation_time : 2017-10-26T00:09:50.000000Z
 Duration: 00:00:03.46, start: 0.000000, bitrate: 128 kb/s
 Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
 Metadata:
 creation_time : 2017-10-26T00:09:50.000000Z
 handler_name : SoundHandler
Stream mapping:
 Stream #0:0 -> #0:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'pipe:':
 Metadata:
 major_brand : dash
 minor_version : 0
 compatible_brands: iso6mp41
 ISFT : Lavf58.29.100
 Stream #0:0(und): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s (default)
 Metadata:
 creation_time : 2017-10-26T00:09:50.000000Z
 handler_name : SoundHandler
 encoder : Lavc58.54.100 pcm_s16le
size= 596kB time=00:00:03.45 bitrate=1411.4kbits/s speed= 316x
video:0kB audio:596kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.012781%

Traceback (most recent call last):
 File "e:/Coding Projects/YTStream/Test2.py", line 27, in <module>
 audio = getaudio(url)
 File "e:/Coding Projects/YTStream/Test2.py", line 20, in getaudio
 raise e
 File "e:/Coding Projects/YTStream/Test2.py", line 16, in getaudio
 .run(capture_stdout=True, capture_stderr=True)
 File "C:\Users\xxx\anaconda3\lib\site-packages\ffmpeg\_run.py", line 325, in run
 raise Error('ffmpeg', out, err)
ffmpeg._run.Error: ffmpeg error (see stderr output for detail)
</module>


I am confused how to deal with this exception as there is no obvious error message here (at least to me). It simply stops, as opposed to when I give an obvious error (such as an invalid format that is not supported by ffmpeg -formats).
Help would be much appreciated !