
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (103)
-
Modifier la date de publication
21 juin 2013, parComment changer la date de publication d’un média ?
Il faut au préalable rajouter un champ "Date de publication" dans le masque de formulaire adéquat :
Administrer > Configuration des masques de formulaires > Sélectionner "Un média"
Dans la rubrique "Champs à ajouter, cocher "Date de publication "
Cliquer en bas de la page sur Enregistrer -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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
Sur d’autres sites (12753)
-
How to save a vvideo from a RTSP server using Ffmpeg in C++ ?
20 septembre 2021, par TolgaI am using Ffmpeg remuxing example code to save a mp4 file into another file. However my actual goal is saving the video from a RTSP server. The example works fine with the normal .mp4 files but when I try to save the video from RTSP Server I get following error on command prompt.


[mp4 @ 02F9A8C0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 18000 >= 3000



The RTSP server is created on my computer for testing using python gstream. I used the script here.


Ffmpeg code in C++ is below where error occurs.


iCamera->stream = iCamera->fmt->streams[iCamera->pkt->stream_index];
 iCamera->pkt->stream_index = map->stream_map[iCamera->pkt->stream_index];
 oCamera->stream = oCamera->fmt->streams[iCamera->pkt->stream_index];

 iCamera->pkt->pts = av_rescale_q_rnd(iCamera->pkt->pts, iCamera->stream->time_base, oCamera->stream->time_base, AVRounding(AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX));
 iCamera->pkt->dts = av_rescale_q_rnd(iCamera->pkt->dts, iCamera->stream->time_base, oCamera->stream->time_base, AVRounding(AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX));
 iCamera->pkt->duration = av_rescale_q(iCamera->pkt->duration, iCamera->stream->time_base, oCamera->stream->time_base);
 iCamera->pkt->pos = -1;
 
 if (av_interleaved_write_frame(oCamera->fmt, iCamera->pkt)) {
 printf("Error occured while muxing packet.\n"); exit(1);
 }



-
avcodec/h264 : create user data unregistered SEI side data for H.264
11 juin 2020, par Limin Wang -
PIL image save causes FFMPEG to fail
6 janvier 2023, par XorgonI have been attempting to convert some videos using FFMPEG with image2pipe using PIL. I have found that when the frame is particularly simple (such as all one colour), it causes FFMPEG to fail with the following message :


[image2pipe @ 000001785b599bc0] Could not find codec parameters for stream 0 (Video: none, none): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, image2pipe, from 'pipe:':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: none, none, 24 tbr, 24 tbn, 24 tbc
Output #0, mp4, to '<your filepath="filepath" here="here">/test.mp4':
Output file #0 does not contain any stream
</your>


The minimum code I have found to reproduce this is as follows :


import numpy as np
from subprocess import Popen, PIPE
from PIL import Image

output_file = "<your filepath="filepath" here="here">/test.mp4"

p = Popen(['ffmpeg',
 '-y', # Overwrite files
 '-f', 'image2pipe', # Input format
 '-r', '24', # Framerate
 '-i', '-', # stdin
 '-c:v', 'libx264', # Codec
 '-preset', 'slow',
 '-crf', f'18', # H264 Constant Rate Factor (quality, lower is better)
 output_file], stdin=PIPE)

# This one works
# vid = np.random.randint(0, 255, (10, 64, 64)) # Create a 64x64 'video' with 10 frames of random noise

# This one does not
vid = np.full((10, 64, 64), 129) # Create a 64x64 'video' with 10 frames of pure grey

for frame in vid:
 im = Image.fromarray(np.uint8(frame))
 im.save(p.stdin, 'JPEG')

p.stdin.close()
p.wait()
</your>


Notably, if I do the same thing with a randomly generated series of frames (commented as "This one works" in the script above), it will output fine.


One workaround I have found so far is to replace 'JPEG' with 'PNG' in the
im.save(...)
call. However, I would be interested in understanding what causes it to fail with JPEG.