
Recherche avancée
Autres articles (42)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...)
Sur d’autres sites (9002)
-
Trying to convert an mp3 file to a Numpy Array, and ffmpeg just hangs
29 mai 2021, par RichI'm working on a music classification methodology with Scikit-learn, and the first step in that process is converting a music file to a numpy array.



After unsuccessfully trying to call ffmpeg from a python script, I decided to simply pipe the file in directly :



FFMPEG_BIN = "ffmpeg"
cwd = (os.getcwd())
dcwd = (cwd + "/temp")
if not os.path.exists(dcwd): os.makedirs(dcwd)

folder_path = sys.argv[1]
f = open("test.txt","a")

for f in glob.glob(os.path.join(folder_path, "*.mp3")):
 ff = f.replace("./", "/")
 print("Name: " + ff)
 aa = (cwd + ff)

 command = [ FFMPEG_BIN,
 '-i', aa,
 '-f', 's16le',
 '-acodec', 'pcm_s16le',
 '-ar', '22000', # ouput will have 44100 Hz
 '-ac', '1', # stereo (set to '1' for mono)
 '-']

 pipe = sp.Popen(command, stdout=sp.PIPE, bufsize=10**8)
 raw_audio = pipe.proc.stdout.read(88200*4)
 audio_array = numpy.fromstring(raw_audio, dtype="int16")
 print (str(audio_array))
 f.write(audio_array + "\n")




The problem is, when I run the file, it starts ffmpeg and then does nothing :



[mp3 @ 0x1446540] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '/home/don/Code/Projects/MC/Music/Spaz.mp3':
 Metadata:
 title : Spaz
 album : Seeing souns
 artist : N*E*R*D
 genre : Hip-Hop
 encoder : Audiograbber 1.83.01, LAME dll 3.96, 320 Kbit/s, Joint Stereo, Normal quality
 track : 5/12
 date : 2008
 Duration: 00:03:50.58, start: 0.000000, bitrate: 320 kb/s
 Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s
Output #0, s16le, to 'pipe:':
 Metadata:
 title : Spaz
 album : Seeing souns
 artist : N*E*R*D
 genre : Hip-Hop
 date : 2008
 track : 5/12
 encoder : Lavf56.4.101
 Stream #0:0: Audio: pcm_s16le, 22000 Hz, mono, s16, 352 kb/s
 Metadata:
 encoder : Lavc56.1.100 pcm_s16le
Stream mapping:
 Stream #0:0 -> #0:0 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help




It just sits there, hanging, for far longer than the song is. What am I doing wrong here ?,


-
Catch if the Java process crashed
10 mai 2018, par Victor SheyanovI run java process to convert video using ffmpeg.exe.
Runtime rt = Runtime.getRuntime();
String cmd = FFMPEGFULLPATH + " -y -i " + '"' + mpeg4File + '"' + " -vcodec libx264 -vsync 2 " + '"' + H264file + '"';
Process pr = rt.exec(cmd);
ThreadedTranscoderIO errorHandler = new ThreadedTranscoderIO(pr.getErrorStream(), "Error Stream");
errorHandler.start();
ThreadedTranscoderIO inputHandler = new ThreadedTranscoderIO(pr.getInputStream(), "Output Stream");
inputHandler.start();
try {
pr.waitFor();
} catch (InterruptedException e) {
LiveApplication.logger.info("Some shit happens during convertation 2 ");
throw new IOException("UseTranscoderBlocking - Run_FFMPEG - process interrupted " + e);
}But when the process started, sometimes especially with big files, but not always i get this windows message :
This happens only on Windows server 2008 and didn’t happened on Windows 7.
I have 2 questions :
- Why this process fails ?
- Can I catch this fail in Java, close
this window and continue thread execution (maybe I’ll restart this
proccess).
-
FFMPEG get an error message
26 juillet 2018, par TomI’m writing a batch script, encoding files using FFMPEG to MP3. Some files aren’t being converted, and FFMPEG doesn’t write in the terminal why. Is there a way to get any error messages in a case a process wasn’t successful ?
Another example, I tried to convert with the same script a text file, obviously it didn’t work, but FFMPEG didn’t provide any error information. That’s why I’m asking if there’s a way, or if FFMPEG even has anything like that.
Edit :
The Code :
FFMPEG.exe -loglevel quiet -i "%%F" -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3
and the output is :
FFmpeg version SVN-r13712, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-memalign-hack --enable-avisynth --enable-libxvid --enable-libx264 --enable-libgsm --enable-libfaac --enable-libfaad --enable-liba52 --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-pthreads --enable-swscale --enable-gpl
libavutil version: 49.7.0
libavcodec version: 51.57.2
libavformat version: 52.14.0
libavdevice version: 52.0.0
built on Jun 8 2008 21:33:14, gcc: 4.2.3
D:\Documents\ffmpeg.exe: unrecognized option '-loglevel'