
Recherche avancée
Autres articles (50)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (10816)
-
How to install ffserver ? [on hold]
26 juillet 2015, par KristofferHow do you install ffserver on Ubuntu ?
I’ve tried :
sudo apt-get install ffserver
...but it doesn’t work. It outputs "Unable to locate package ffserver".
I have tried to install only ffmpeg, but it does not seem to work. When I in terminal run ./ffserver, it says "No such file or directory".
-
Gnuplot how to set a variable to standard-input if not passed
27 août 2020, par DDSI have a gnuplot script (plot.script) that is invoked like


C:> ffmpeg -i '.\my_awesome_audio_file.wav' -filter_complex aformat=channel_layouts=mono -acodec pcm_s16le -ar 4000 -f data - | gnuplot -e "fileout='plot';fileformat='png';wid=500;" .\plot.script 



Now I'd want to default filein variable to stdin if it is not passed as argument. This because I want to be able to call this script as a 1-liner command with ffmpeg data generation and also as step-by-step procedure


My idea was to use


if(!exists('filein')){
filein = '-';
}



but this throws
warning: Skipping data file with no valid points


if i print the variable datafile I got
-
(I expected something like stdin).

this is the
plot.script
script :


if(!exists('filein')){
 filein = '-';
 }

if (!exists("hei")){
 hei = 4444;
 }
if (!exists("wid")){
 wid = 5555;
 }
if(!exists("fileformat")){
 fileformat = 'png';
 }
if(!exists("fileout")){
 fileout = 'risultato';
 }
 
fileout = fileout . '.' . fileformat;
 
if(!exists("dataformat")){
 dataformat = '%int16';
 }
if(fileformat eq 'png'){
 set terminal png transparent size larghezza,altezza;
 
 }else{
 set terminal fileformat size wid,hei;
 }
 set output fileout;
 unset key;
 unset tics;
 unset border;
 set lmargin 0;
 set rmargin 0;
 set tmargin 0;
 set bmargin 0;


print filein;
plot filein binary filetype=bin format=dataformat endian=little array=1:0 with lines linecolor "0x009900";



But I also want to call this command-by-command :
generate the data-file :


c:> ffmpeg -i '.\my_awesome_audio_file.wav' -filter_complex aformat=channel_layouts=mono -acodec pcm_s16le -ar 4000 -f data audio.dat



plot the data :


c:> gnuplot -e "filein='audio.dat';fileout='plot';fileformat='png';wid=500;" .\plot.script



-
Why is my FastAPI process being suspended, and how can I avoid this ?
19 janvier, par blermenI'm working on a web app using FastAPI that uses ffmpeg to overlay audio onto video for the user. I'm running into an issue where, when I use subprocess.run(cmd), it automatically suspends the process running my FastAPI app. I can't figure out how to get the error logs to help deduce why this is, and I haven't found anything online talking about this.


@app.get("/overlay-audio/")
async def get_video(audio_file: str, forged_name: Annotated[str, Query()] = "default"):
 video_path = os.path.join(output_path, "sample.mp4")
 audio_path = os.path.join(output_path, audio_file)
 forged_path = os.path.join(output_path, forged_name + ".mp4")
 print("Video path: " + video_path)
 print("Audio path: " + audio_path)
 print("Output path: " + forged_path)

 # command to recreate
 # ffmpeg -i input.mp4 -i input.wav -c:v copy -map 0:v:0 -map 1:a:0 -c:a aac -b:a 192k output.mp4

 cmd = ["/opt/homebrew/bin/ffmpeg", 
 "-i", video_path,
 "-i", audio_path,
 "-c:v", "copy",
 "-map", "0:v:0",
 "-map", "1:a:0",
 "-c:a", "aac",
 "-b:a", "192k",
 forged_path]
 
 subprocess.run(cmd)
 
 return {"forged_vid": f"forged_{forged_name}"}


if __name__ == "__main__":
 uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)



I've tried not writing output to the terminal, as I've read that could be a reason why it suspends using
result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
, and I've also tried running it asynchronously to avoid blocking the event loop using

result = await asyncio.create_subprocess_exec(
 *cmd,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE
 )



but nothing works. Any help or possible other ways to go about this would be greatly appreciated. Terminal output about the suspension : [1] + 12526 suspended (tty output) "/Users//Tech Projects/project/tts/videnv/bin/python"