
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (109)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette 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. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (14639)
-
Executing ffmpeg command using Popen
21 septembre 2014, par dragonatorI have a strange problem trying to execute
ffmpeg
command using Popen.
I have the following piece of code, which I use for executing an external commands in Python :from subprocess import Popen, PIPE
from datetime import datetime
class Executor(object):
@classmethod
def execute(cls, command):
"""
Executing a given command and
writing into a log file in cases where errors arise.
"""
p = Popen(command, stdin=PIPE, stdout=PIPE, stderr=PIPE)
output, err = p.communicate()
if p.returncode:
with open("failed_commands.log", 'a') as log:
now = datetime.now()
log.write('{}/{}/{} , {}:{}:{}\n\n'.format(now.day, now.month,
now.year, now.hour,
now.minute,
now.second))
log.write("COMMAND:\n{}\n\n".format(" ".join(command)))
log.write("OUTPUT:\n{}\n\n".format(output.decode("utf-8")))
log.write("ERRORS:\n{}\n".format(err.decode("utf-8")))
log.write('-'*40)
log.write('\n')
return ''
if not output:
output += ' '
return outputI’ve tested it with others commands, but when I try to execute
ffmpeg
command - it fails.
I’m trying to convert some audio format to mp3 format.
Here is an example of my command :ffmpeg -i "/path/old_song.m4a" "/path/new_song.mp3"
...simple as that.When I run it in terminal it works fine, but when I try to execute it using the above function it fails.
Here is the exact error :----------------------------------------
21/9/2014 , 19:48:50
COMMAND:
ffmpeg -i "/path/old_song.m4a" "/path/new_song.mp3"
OUTPUT:
ERRORS:
ffmpeg version 2.2.3 Copyright (c) 2000-2014 the FFmpeg developers
built on Jun 9 2014 08:01:43 with gcc 4.9.0 (GCC) 20140521 (prerelease)
configuration: --prefix=/usr --disable-debug --disable-static --enable-avisynth --enable-avresample --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libavresample 1. 2. 0 / 1. 2. 0
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
"/path/old_song.m4a": No such file or directory
Conversion failed!
----------------------------------------...and as you can think of - the file exists.
I think there is something in passing the command to
Popen.communicate
but I don’t know exactly.Kind regards,
Teodor D.
PS : I’m passing the command toExecutor.execute as Python
list.PSS : Calling the
Executor.execute
:def process_conversion(self):
for song in self.files_to_convert:
current_format = song.rsplit('.', 1)[-1]
old_file = '"{}{}{}"'.format(self.target_dir, os.sep, song)
new_file = '"{}{}{}"'.format(self.target_dir, os.sep,
song.replace(current_format, 'mp3'))
command = ["ffmpeg", "-i", old_file, new_file]
Executor.execute(command) -
Youtube-dl convert to MP3 multi cores [on hold]
1er janvier 2017, par Top Games a-ZDo you know how to tell to youtube-dl to use all cpu cores when convert music (using ffmpeg) to mp3 ? Because it downloads the song but when it has to convert it uses just one core. Thank you.
-
FFMPEG YouTube Live Too Fast
6 avril 2017, par Liam MartensSo I am streaming video and audio to YouTube as follows
THE CONTEXT
1. First I convert a graphic GIF to an MP4 file
ffmpeg -f gif -i graphic.gif -c:v libx264 -pix_fmt yuv420p -vf scale=1280:-1 temp.mp4
2. Then I overlay a PNG with text over the MP4
ffmpeg -i temp.mp4 -i overlay.png -filter_complex "overlay=10:10" '.$graphicsPath.'/graphic.mp4
3. Then I start the stream the video and combine it with audio using following code (sources.txt is just a concat list *)
ffmpeg -f concat -i sources.txt -i music.mp3 \
-c:v libx264 -c:a aac -shortest -deinterlace \
-pix_fmt yuv420p -preset '.$encoding.' -r 30 -g 60 -b:v 2500k \
-acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b:a 712000 \
-maxrate 800k -bufsize 1400k \
-f flv rtmp://a.rtmp.youtube.com/live2/KEY4. After the stream ends, the code starts over again with a new song to mimic a 247 stream.
THE ISSUE
So the issue I am having is that it appears to be streaming too fast. It’s like the opposite of buffering issues where the buffer is way too long (as in a full song buffered by the time the first one has finished if you open the stream)
Does anyone know how I could throttle the output ? I have tried with
maxrate
andbufsize
but no real result.* sources.txt example
file ’graphic.mp4’
file ’graphic.mp4’
file ’graphic.mp4’
file ’graphic.mp4’
file ’graphic.mp4’
file ’graphic.mp4’
and so on