
Recherche avancée
Autres articles (62)
-
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 -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (9674)
-
ffmpeg implicitly shifts video and audio
2 mars 2020, par ynnI separated a
.mkv
file with audio and video into two files by the following command.ffmpeg -i input.mkv -vn -codec copy out.wav #extract audio
ffmpeg -i input.mkv -an -codec copy out.mkv #extract videoAnd I just merge them into one
.mkv
file :ffmpeg -i out.mkv -i out.wav -codec copy final.mkv #this behaves quite strangely
I thought the initial input
input.mkv
and the final outputfinal.mkv
should be exactly the same, but, infinal.mkv
, the video and the audio was shifted by about five seconds. Usingffprobe
, I found the cause was the video part (out.mkv
) was trimmed off by the length (i.e. five seconds) for no reason.What’s happening here ? How can I avoid this strange shift ?
Detailed Explanation :
Hereafter I use this sample input called
input.mkv
. First, extract video and audio from it.$ ffmpeg -i input.mkv -vn -codec copy out.wav
$ ffmpeg -i input.mkv -an -codec copy out.mkvNext, check the duration of them.
$ ffprobe -i out.wav 2>&1 | grep Duration
Duration: 00:00:18.88, bitrate: 1536 kb/s
$ ffprobe -i out.mkv 2>&1 | grep Duration
Duration: 00:00:18.87, start: 0.000000, bitrate: 1877 kb/sThen combine them.
$ ffmpeg -i out.mkv -i out.wav -codec copy final.mkv
Finally, check the duration of streams.
$ ffprobe -i final.mkv
Input #0, matroska,webm, from 'final.mkv':
Metadata:
ENCODER : Lavf58.29.100
Duration: 00:00:18.88, start: 0.000000, bitrate: 3414 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 900x586 [SAR 1:1 DAR 450:293], 30.30 fps, 30.30 tbr, 1k tbn, 60 tbc (default)
Metadata:
DURATION : 00:00:18.866000000
Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Metadata:
DURATION : 00:00:18.880000000Strangely, duration of the video stream has been trimmed off from
18.8700
to18.8660
, though the length of the audio stream is not touched at all.It seems the longer the video is, the bigger part is trimmed. (In my case of a one hour video, no less than five seconds were trimmed off.)
Version Information :
~ $ ffmpeg -version
ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.2.1 (Arch Linux 9.2.1+20200130-2) 20200130
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100 -
FFMPEG -filter_complex is not generating desired output
24 octobre 2017, par MubbasharI am trying to
embed subtitle at the bottom of video and
add image/text watermark at the top right corner of video and
add text at the top and bottom and
add colored padding at top and bottom of video in the same commandThis following is the command I can get somewhat working. This is adding padding at the bottom but not at the top. It is successfully embedding subtitles in the video though.
It is also disturbing some parts of the video, pushing them to the top and cropping the top of video (because of padding at the bottom I think) but some parts of the video are in place and are ok.I tried to write the command and use filter complex in FFMPEG but i am not sure how to use them correctly. Can somebody guide how to fix this and use filter complex correctly as documentation is too complex
COMMAND
ffmpeg -y -i video-orignal.mp4 -i watermark.jpg -filter_complex "[0:v]pad=iw:ih+300:0:0:purple[padded]; [padded]overlay=main_w-overlay_w-5:5[watermarked]; [0:v][watermarked]overlay=W-w-10:H-h-10,subtitles=subtitles-final.ass[out]" -map "[out]" -map 0:a video-final.mp4
-
FFMPEG concat causing audio glitches in segments boundaries
28 mai 2017, par IdanI am segmenting a video file to 10sec segments, transcoding each of them and then run a concat to merge them all back together.
While the whole process works without errors and the final file is valid and playable, I’ve noticed some sort of glitches/interruptions in the audio stream when passing over the original segments boundaries.For example, in a 60sec video that was segmented to 10sec segments and stitched back again, the final output will show audio interruptions in 10/20/30/40/50 sec timestamps.
For segmenting the files I use :
ffmpeg -y -i $INPUT_FILE -c copy -flags -global_header -segment_time 10 -break_non_keyframes 0 -reset_timestamps 1 -segment_list file_segs.list -segment_list_type ffconcat -write_empty_segments 0 -segment_format mp4 -f segment file_seg-%d.mp4
And for concat I use :
ffmpeg -y -f concat -i file_segs.list -c copy -movflags +faststart file_video.mp4
Transcoding is to libx264 / aac
What might be the cause ? Is there any way to work around this problem ?