
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 (85)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
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 (...)
Sur d’autres sites (8803)
-
Python buffered IO ending early streaming with multiple pipes
5 octobre 2022, par MalibuI'm trying to make a continuous livestream of videos downloaded via yt-dlp. I need to port this (working) bash command into Python.


(
 youtube-dl -v --buffer-size 16k https://youtube.com/watch?v=QiInzFHIDp4 -o - | ffmpeg -i - -f mpegts -c copy - ;
 youtube-dl -v --buffer-size 16k https://youtube.com/watch?v=QiInzFHIDp4 -o - | ffmpeg -i - -f mpegts -c copy - ;
) | ffmpeg -re -i - -c:v libx264 -f flv rtmp://127.0.0.1/live/H1P_x5WPF



My Python attempt is cutting off the last 2 seconds of each video. My suspicion is that although the first pipe, yt-dlp, has an empty stdout, there is still data travelling between the second and third pipe. I haven't been able to figure out a way to properly handle the data between those two pipes at the end of the video.


from subprocess import Popen, PIPE, DEVNULL

COPY_BUFSIZE = 65424

playlist = [
 {
 # 15 second video
 "url": "https://youtube.com/watch?v=QiInzFHIDp4"
 },
 {
 # 15 second video
 "url": "https://youtube.com/watch?v=QiInzFHIDp4"
 },
 {
 # 15 second video
 "url": "https://youtube.com/watch?v=QiInzFHIDp4"
 },
]

if __name__ == "__main__":
 stream_cmd = [
 "ffmpeg", "-loglevel", "error",
 "-hide_banner", "-re", "-i", "-",
 "-c:v", "libx264",
 "-f", "flv",
 "-b:v", "3000k", "-minrate", "3000k",
 "-maxrate", "3000k", "-bufsize", "3000k",
 "-r", "25", "-pix_fmt", "yuv420p",
 "rtmp://127.0.0.1/live/H1P_x5WPF"
 ]
 print(f'Stream command:\n"{" ".join(stream_cmd)}"')

 encoder_cmd = [
 "ffmpeg", "-re", "-i", "-", "-f", "mpegts",
 "-c", "copy", "-"
 ]
 print(f'Encoder command:\n"{" ".join(encoder_cmd)}"')

 stream_p = Popen(stream_cmd, stdin=PIPE, stderr=DEVNULL)

 for video in playlist:
 yt_dlp_cmd = [
 "yt-dlp", "-q",
 video["url"],
 "-o", "-"
 ]

 print("Now playing: " + video["url"])

 with Popen(yt_dlp_cmd, stdout=PIPE) as yt_dlp_p:
 with Popen(encoder_cmd, stdin=PIPE, stdout=PIPE, stderr=DEVNULL) as encoder_p:
 while True:
 yt_dlp_buf = yt_dlp_p.stdout.read(COPY_BUFSIZE)
 print("READ: yt_dlp")
 if not yt_dlp_buf:
 print("yt-dlp buffer empty")
 # Handle any data in 2nd/3rd pipes before breaking?
 break

 written = encoder_p.stdin.write(yt_dlp_buf)
 print("WRITE: encoder. Bytes: " + str(written))

 encoder_buf = encoder_p.stdout.read(COPY_BUFSIZE)
 # if not encoder_buf:
 # print("encoder_buf empty")
 # break
 print("READ: encoder")

 stream_bytes_written = stream_p.stdin.write(encoder_buf)
 print("WRITE: stream, Bytes: " + str(stream_bytes_written))



Running Python 3.6.9 on MacOS.


-
FFMPEG build error when building app on OS X
26 juillet 2014, par konstiI installed FFMPEG on OS X 10.9 with homebrew (and earlier with macport) and the ffmpeg command in console is working. But when trying to include it to my XCode project and building my Mac app I get build errors :
#include
#includestdarg.h
User defined issues
This header only supports __MWERKS__.
When trying to add it as preprocessor macro I get more errors stating that mw_stdarg.h file not found. Did I miss some configuration somewhere ? Please help :)
-
ffmpeg : convert a video by using another video's settings
11 janvier 2015, par orcamanI have an mp4 file containing an H.264 video. This video has particular settings that I am not sure about, but I want to reproduce them on other videos that I encode (those other videos are already H.264 encoded, but they have different properties - bitrate, size, etc.)
I know that ffprobe can be used to extract some information from the original video, and I guess that using this information I could try to reproduce the conversion settings required for use with other videos.
Question is : do I have to do this manually, in the sense that I need to map the output of ffprobe to ffmpeg flags ? Is there a better way to do this, to make sure I don’t miss anything ?