
Recherche avancée
Médias (1)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (56)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (7607)
-
avformat/matroskadec : Don't output uninitialized data for RealAudio 28.8
22 avril 2020, par Andreas Rheinhardtavformat/matroskadec : Don't output uninitialized data for RealAudio 28.8
The Matroska demuxer splits every sequence of h Matroska Blocks into
h * w / cfs packets of size cfs ; here h (sub_packet_h), w (frame_size)
and cfs (coded_framesize) are parameters from the track's CodecPrivate.It does this by splitting the Block's data in h/2 pieces of size cfs each
and putting them into a buffer at offset m * 2 * w + n * cfs where
m (range 0..(h/2 - 1)) indicates the index of the current piece in the
current Block and n (range 0..(h - 1)) is the index of the current Block
in the current sequence of Blocks. The data in this buffer is then used
for the output packets.The problem is that there is currently no check to actually guarantee
that no uninitialized data will be output. One instance where this is
trivially so is if h == 1 ; another is if cfs * h is so small that the
input pieces do not cover everything that is output. In order to
preclude this, rmdec.c checks for h * cfs == 2 * w and h >= 2. The
former requirement certainly makes much sense, as it means that for
every given m the input pieces (corresponding to the h different values
of n) form a nonoverlapping partition of the two adjacent frames of size w
corresponding to m. But precluding h == 1 is not enough, other odd
values can cause problems, too. That is because the assumption behind
the code is that h frames of size w contain data to be output, although
the real number is h/2 * 2. E.g. for h = 3, cfs = 2 and w = 3 the
current code would output four (== h * w / cfs) packets. although only
data for three (== h/2 * h) packets has been read.(Notice that if h * cfs == 2 * w, h being even is equivalent to
cfs dividing w ; the latter condition also seems very reasonable :
It means that the subframes are a partition of the frames.)Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-
Add PNG image overlay to video starting with non-key frame
8 mai 2020, par RamRickAlright, so I'm trying to edit a bunch of short to very long videos.
The goal is to mute a 1 minute part within each video and overlay that small part with a PNG image for the full duration.



Because this all has to be done as fast as possible, I figured it would be the best idea to split every video into 3 parts, then mute and add the overlay to part #2 and put all 3 parts back together.



The first problem I ran into was that part #2 and #3 always started with a 1-2 second freeze in video, while the audio was fine.



I found out that this was caused by me cutting at key frames and ignoring non-key frames at the beginning.



I fixed that by adding the
-copyinkf
parameter to also copy all non-key frames, like so :


ffmpeg -i "in.mp4" \
-to 0:04:00 -c:v copy -c:a copy -copyinkf "p1.mp4" \
-ss 0:04:00 -to 0:05:00 -c:v copy -c:a copy -copyinkf "p2.mp4" \
-ss 0:05:00 -c:v copy -c:a copy -copyinkf "p3.mp4"




So I went on and proceeded to mute part #2, like so :



ffmpeg -i "p2.mp4" -af "volume=0" -c:v copy -copyinkf "p2_muted.mp4"




All fine until this point, and IF I put the parts back together right now it would also be quick and accurate, like so :



--parts.txt
file 'p1.mp4'
file 'p2_muted.mp4'
file 'p3.mp4'

ffmpeg -f concat -safe 0 -i parts.txt -c copy "out.mp4"




But now comes the problem :



Since I have to re-encode part #2 to overlay the PNG image, I get the 1-2 seconds freeze frame problem at the beginning again and I can't for the life of me figure out the "equivalent" of
-copyinkf
for re-encoding a video.


Right now I'm overlaying the PNG image like so :



ffmpeg -i "p2_muted.mp4" -i "../banner.png" -filter_complex "[1][0]scale2ref[i][v];[v][i]overlay" -c:a copy "p2_edited.mp4"




So my question is, what would the equivalent to
-copyinkf
be, or in case there is a better way than mine, what would that be to achieve my task.

-
Convert M3U8 playlist to MP4 using GStreamer
9 février 2023, par IdanI'm trying to convert an HLS playlist to MP4 file. The .ts files in the list are guaranteed to be h264/aac and with the same resolution (for cases when there is a EXT-X-DISCONTINUITY tag).



this is the closes I got to a working pipeline :



gst-launch-1.0 mp4mux name=mux ! filesink location=x.mp4 souphttpsrc location="https://remote/path/to/index.m3u8" ! decodebin name=decode ! videoconvert ! queue ! x264enc ! mux. decode. ! audioconvert ! avenc_aac ! mux.




Don't really know if the result is valid as this command line gets GStreamer to play the HLS in
playing
time instead of fast forward and ingest as fast as possible (the list is closed with#EXT-X-ENDLIST
).


Second issue is that it looks to me like this pipeline is encoding the stream instead of just coping it. I don't need it to encode, only change the container. H264/aac in the .TS files is what I also need in the .MP4 file.



So, is it possible to only copy and not transcode using as-fast-as-u-can ingestion and not real-life speed ?



Basically, I am trying to find the GStreamer equivalent to this FFmpeg command :



FFmpeg -i "https://remote/path/to/index.m3u8" -c copy x.mp4




(I have to use GStreamer and not FFmpeg.)