
Recherche avancée
Médias (1)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (109)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (14556)
-
Why does ffmpeg command work in terminal but not subprocess.call
4 août, par BrianI reviewed the "similar questions", but those seem to refer to using the full path for ffmpeg to ensure using the same version, which I am already doing so posting my question.


I am using a Mac runnning Sequoia 15.5, python 3, and ffmpeg 4.2.1.


I'm trying to write a script that can convert flac to mp3 320k.


If I use the following command in terminal everything works as intended :


/usr/local/bin/ffmpeg -i "/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.flac" -b:a 320k -map_metadata 0 -id3v2_version 3 "/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.mp3"



But when trying to do the same thing with subprocess.call with the following :


command = ['/usr/local/bin/ffmpeg', '-i', '/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.flac', '-b:a 320k', '-map_metadata 0', '-id3v2_version 3', '/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.mp3']
p = subprocess.call(command)



I get this as a result :


Unrecognized option 'id3v2_version 3'.
Error splitting the argument list: Option not found



If I remove the '-id3v2_version 3', then the subprocess.call results in the following error :


[mp3 @ 0x7fae2c008200] Invalid stream specifier: a 320k.



Why does Terminal understand but subprocess.call doesn't when I've verified I'm using the same version of ffmpeg ?


-
Programmatically using terminal in linux escapes my command
21 février 2023, par David ChavezUsing nodeJS exec function which runs my command from a new process overwrites my backslashes which makes my command invalid. How can I prevent this or use a workaround ?


I need the final command to look like this :

...drawtext=text='timestamp \: %{pts \: localtime...


With that code,
\:
is escaped into:
.

Using\\:
is escaped into\\:
while I'm expecting\:


How do I get
...drawtext=text='timestamp \: %{pts \: localtime...
to be ran ?

// This command works if pasted directly into terminal
const ffmnpegCode = `ffmpeg -i /path/input.mp4 -y -r 25 -ss 0 -to 124 -c:v libx264 -c:a aac -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,drawtext=text='timestamp \: %{pts \: localtime \: 1665679092.241 \: %m-%d-%Y %H\\\\\:%M\\\\\:%S}': x=(w-text_w-10): y=(h-text_h-5): fontsize=45: fontcolor=white@0.9: box=1: boxcolor=black@0.6: fontfile='/path/OpenSans-Regular.ttf'" /path/output.mp4`
const encode = async ffmpegCode => {
 try {
 await execPromise(ffmpegCode);
 return 200
 } catch (err) {
 console.log(err)
 }
}



JS adds extra
\
which breaks my command

-
Python subprocess.Popen + ffmpeg breaks terminal input
16 décembre 2020, par Barney SuitI was writing a module to create random screenshots from a video and used
subprocess.Popen
to run multiple commands in parallel but this leads to terminal refusing from showing any input once the python program is finished running. But it still accepts most inputs given from the keyboard it just doesn't display it.

Only if I type the
reset
command terminal starts working fine
This happened on ssh with putty and other ssh clients even ssh with powershell on windows and directly running on terminal with VNC

But without ssh directly running the same command on windows ssh works fine and and inputs are visible


here's a gif example for whats happening



and code to replicate it


#!/usr/bin/env python3.8
from subprocess import Popen

def create_screenshots():

 commands = ['ffmpeg -hide_banner -loglevel panic -ss 329 -i "/home/user/file.mkv" -y -vframes 1 "/home/user/file.329.frame.png"',
 'ffmpeg -hide_banner -loglevel panic -ss 312 -i "/home/user/file.mkv" -y -vframes 1 "/home/user/file.312.frame.png"',
 'ffmpeg -hide_banner -loglevel panic -ss 533 -i "/home/user/file.mkv" -y -vframes 1 "/home/user/file.533.frame.png"',
 'ffmpeg -hide_banner -loglevel panic -ss 444 -i "/home/user/file.mkv" -y -vframes 1 "/home/user/file.444.frame.png"',
 'ffmpeg -hide_banner -loglevel panic -ss 411 -i "/home/user/file.mkv" -y -vframes 1 "/home/user/file.411.frame.png"',
 'ffmpeg -hide_banner -loglevel panic -ss 413 -i "/home/user/file.mkv" -y -vframes 1 "/home/user/file.413.frame.png"']
 screenshot_files = []
 processes = [Popen(command, shell=True) for command in commands]
 for process in processes:
 process.wait()
 
 return screenshot_files


create_screenshots()