
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 (79)
-
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 (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (9238)
-
How can ffmpeg stream a never-ending video file to RTMP
17 septembre 2020, par YooooomiI currently have an issue publishing a constantly appended video file to RTMP.
My workflow is


- 

- I proxy the
MediaSource
class in the browser. - From this I upload every byte appended to the buffers in a self hosted server
- The server finally appends the
video.avi
file.








I want to stream that constantly updated avi file to an RTMP endpoint.
The issue I encounter is that
ffmpeg
will stop streaming the file once it has reached the duration it had when launchingffmpeg
.

I don't know much about streaming videos and if it can be done "just" by appending an avi file.
The command I'm using is


.\ffmpeg.exe -re -i .\file.avi -c copy -f flv rtmp://localhost/live/STREAM_NAME


Thanks in advance for your help


- I proxy the
-
If I cut a 10 second clip into two parts, would the ending time for the first clip be 00:00:05 or 00:00:04 to prevent overlapping ?
28 mai 2022, par DIRTY DAVEI'm trying to cut a 10 second clip into two parts and then merging the two clips into one using a movie editing software.


ffmpeg -ss 00:00:00 -i C:/Users/Dave/Desktop/movie.mp4 -to 00:00:05 -c copy -copyts C:/Users/Dave/Desktop/part1.mp4


ffmpeg -ss 00:00:05 -i C:/Users/Dave/Desktop/movie.mp4 -to 00:00:10 -c copy -copyts C:/Users/Dave/Desktop/part2.mp4


I'm confused on whether the clip time being cut in the first command should be either

00:00:05
or00:00:04
to prevent an overlapping second of a clip because the second command is starting at00:00:05
. What should it be ?

-
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.