
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (64)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (4123)
-
Conditionally rotate portrait video if landscape with FFmeg
12 novembre 2019, par JulesI need to convert only portrait videos to landscape, some video maybe landscape already.
I need to achieve this with a shell script on a mac.
I’ve previously managed to rotate a video with ..
ffmpeg -i "/Users/jm/Library/Mobile Documents/com~apple~QuickTimePlayerX/Documents/output.mp4"
-strict 1 -metadata:s:v rotate="90" -codec copy "$3"$3 is the input file in my shell script
I’ve found this ...
ffmpeg -i input.m4v 2>&1 | grep rotate
From this answer https://stackoverflow.com/a/31683689/450456
I’m not sure how to combine the two, or have to get and use the height and width in an if statement in a shell script.
EDIT : Info as requested
ffmpeg -i final.mp4
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libass --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --enable-openssl --disable-lzma --enable-nonfree
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'final.mp4':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2019-11-12T20:45:27.000000Z
Duration: 00:00:24.36, start: 0.031667, bitrate: 365 kb/s
Stream #0:0(und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, smpte170m/unknown/unknown), 1242x2688, 365 kb/s, 1.73 fps, 600 tbr, 600 tbn, 600 tbc (default)
Metadata:
creation_time : 2019-11-12T20:45:27.000000Z
handler_name : Core Media Data Handler
encoder : HEVC
At least one output file must be specified -
Python ffmpeg subprocess never exits on Linux, works on Windows
24 mai 2021, par ChrisI wonder if someone can help explain what is happening ?


I run 2 subprocesses, 1 for ffprobe and 1 for ffmpeg.


popen = subprocess.Popen(ffprobecmd, stderr=subprocess.PIPE, shell=True)



And


popen = subprocess.Popen(ffmpegcmd, shell=True, stdout=subprocess.PIPE)



On both Windows and Linux the ffprobe command fires, finishes and gets removed from taskmanager/htop. But only on Windows does the same happen to ffmpeg. On Linux the command remains in htop...




Can anyone explain what is going on, if it matters and how I can stop it from happening please ?


EDIT : Here are the commands...


ffprobecmd = 'ffprobe' + \
' -user_agent "' + request.headers['User-Agent'] + '"' + \
' -headers "Referer: ' + request.headers['Referer'] + '"' + \
' -timeout "5000000"' + \
' -v error -select_streams v -show_entries stream=height -of default=nw=1:nk=1' + \
' -i "' + request.url + '"'



and


ffmpegcmd = 'ffmpeg' + \
' -re' + \
' -user_agent "' + r.headers['User-Agent'] + '"' + \
' -headers "Referer: ' + r.headers['Referer'] + '"' + \
' -timeout "10"' + \
' -i "' + r.url + '"' + \
' -c copy' + \
' -f mpegts' + \
' pipe:'



EDIT : Here is a example that behaves as described...


import flask
from flask import Response
import subprocess

app = flask.Flask(__name__)

@app.route('/', methods=['GET'])
def go():
 def stream(ffmpegcmd):
 popen = subprocess.Popen(ffmpegcmd, stdout=subprocess.PIPE, shell=True)
 try:
 for stdout_line in iter(popen.stdout.readline, ""):
 yield stdout_line
 except GeneratorExit:
 raise

 url = "https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8"

 ffmpegcmd = 'ffmpeg' + \
 ' -re' + \
 ' -timeout "10"' + \
 ' -i "' + url + '"' + \
 ' -c copy' + \
 ' -f mpegts' + \
 ' pipe:'
 return Response(stream(ffmpegcmd))

if __name__ == '__main__':
 app.run(host= '0.0.0.0', port=5000)



-
Pause a FFmpeg encoding in a Python Popen subprocess on Windows
5 décembre 2020, par CasualDemonI am trying to pause an encode of FFmpeg while it is in a non-shell subprocess (This is important to how it plays into a larger program). This can be done by presssing the "Pause / Break" key on the keyboard by itself, and I am trying to send that to Popen.


The command itself must be cross platform compatible, so I cannot wrap it in any way, but I can send signals or run functions that are platform specific as needed.


I looked at how to send a "Ctrl+Break" to a subprocess via pid or handler and it suggested to send a signal, but that raised a "ValueError : Unsupported signal : 21"


from subprocess import Popen, PIPE
import signal


if __name__ == '__main__':
 command = "ffmpeg.exe -y -i example_video.mkv -map 0:v -c:v libx265 -preset slow -crf 18 output.mkv"
 proc = Popen(command, stdin=PIPE, shell=False)

 try:
 proc.send_signal(signal.SIGBREAK)
 finally:
 proc.wait()



Then attempted to use GenerateConsoleCtrlEvent to create a Ctrl+Break event as described here https://docs.microsoft.com/en-us/windows/console/generateconsolectrlevent


from subprocess import Popen, PIPE
import ctypes


if __name__ == '__main__':
 command = "ffmpeg.exe -y -i example_video.mkv -map 0:v -c:v libx265 -preset slow -crf 18 output.mkv"
 proc = Popen(command, stdin=PIPE, shell=False)

 try:
 ctypes.windll.kernel32.GenerateConsoleCtrlEvent(1, proc.pid)
 finally:
 proc.wait()



I have tried
psutil
pause feature, but it keeps the CPU load really high even when "paused".

Even though it wouldn't work with the program overall, I have at least tried setting
creationflags=CREATE_NEW_PROCESS_GROUP
which makes the SIGBREAK not error, but also not pause it. For the Ctrl-Break event will entirely stop the encode instead of pausing it.