
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (102)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.
Sur d’autres sites (9220)
-
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 !