
Recherche avancée
Autres articles (53)
-
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 (4560)
-
How to find Video Codec for file ffmpeg
10 janvier 2023, par iggy12345I'm working with HLS streams of MPEGTS that contains H264.


When I look at the HLS Playlist given by the server, it specifies that the codec is
avc1.77.30,mp4a.40.2


Here's a snippet from the file


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1787760,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x360



Is there a way I can retrieve this information from
ffmpeg
?

I found a question that was asked before How to determine video codec of a file with FFmpeg


But the closest I can seem to get to any of their outputs is
h264
and notavc1.77.30


The playlist contains 7 MPEG-TS files, I've tried using
ffprobe
on both the playlist file, as well as the individual video files, but they both seem to report the parser, not the encoding of the actual video.

-
FFMpeg fails to detect input stream when outputting to pipe's stdout
27 septembre 2020, par La bla blaWe have h264 frames as individual files, we read them to a python wrapper and piping them to ffmpeg.


ffmpeg subprocess is launched using


command = ["ffmpeg",
 "-hide_banner",
 "-vcodec", "h264",
 "-i", "pipe:0",
 "-video_size", "5120x3072",
 '-an', '-sn', # we want to disable audio processing (there is no audio)
 '-pix_fmt', 'bgr24',
 "-vcodec", "rawvideo",
 '-f', 'image2pipe', '-']
 pipe = sp.Popen(command, stdin=sp.PIPE, stdout=sp.PIPE, bufsize=10 ** 8)



Our goal is to use ffmpeg to convert the individual h264 frames into raw BGR data that we can manipulate using OpenCV.


the files are read in a background thread and piped using


...
 for path in files:
 with open(path, "rb") as f:
 data = f.read()
 pipe.stdin.write(data)



When we try to read the ffmpeg's output pipe using


while True:
 # Capture frame-by-frame
 raw_image = pipe.stdout.read(width * height * 3)



we get


[h264 @ 0x1c31000] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
pipe:0: could not find codec parameters
Input #0, h264, from 'pipe:0':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: h264, none, 25 tbr, 1200k tbn, 50 tbc
Output #0, image2pipe, to 'pipe:':
Output file #0 does not contain any stream



However, when I change the
sp.Popen
command to be


 f = open('ffmpeg_output.log', 'wt')
 pipe = sp.Popen(command, stdin=sp.PIPE, stdout=f, bufsize=10 ** 8) # Note: the stdout is not f



we get the gibberish (i.e, binary data) in the
ffmpeg_output.log
file, and the console reads

[h264 @ 0xf20000] Stream #0: not enough frames to estimate rate; consider increasing probesize
[h264 @ 0xf20000] decoding for stream 0 failed
Input #0, h264, from 'pipe:0':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: h264 (Baseline), yuv420p, 5120x3072, 25 fps, 25 tbr, 1200k tbn, 50 tbc
Output #0, image2pipe, to 'pipe:':
 Metadata:
 encoder : Lavf56.40.101
 Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 5120x3072, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
 Metadata:
 encoder : Lavc56.60.100 rawvideo
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Invalid UE golomb code
 Last message repeated 89 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code
 Last message repeated 29 times
Invalid UE golomb code



Why does ffmpeg cares if its stdout is a file or a pipe ?


-
rtmpproto : Validate the embedded flv packet size before copying
3 octobre 2013, par Martin Storsjörtmpproto : Validate the embedded flv packet size before copying
This wasn’t an issue prior to 58404738, when the whole RTMP packet
was copied at once and the length of the individual embedded flv
packets only were validated by the flv demuxer.Prior to this patch, this could lead to reads and writes out of bound.
Signed-off-by : Martin Storsjö <martin@martin.st>