
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (37)
-
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...)
Sur d’autres sites (5336)
-
ffmpeg doesn't generate video from images
6 juillet 2017, par mansI am trying to create a video from jpeg images using ffmpeg. The generated video should be in x264 or x265 format.
I have a directory with 36 images . Each image size is around 60Mpixel. They are names as follow :
- frame00000.jpg
- frame00001.jps
- frame00002.jpg
- ....
- frame00035.jpg
I read documentation and several posts in SO and I came to write a batch file to call ffmpeg as follow :
ffmpeg.exe -r 1/5 -start_number 0 -i %1\frame%%05d.jpg -c:v libx264 -vf "fps=1,format=yuv420p" out1.mp4
when I run this command, I am getting this output from the ffmpeg, which is strange :
C:\Users\m\Desktop\ffmpeg-20170702-c885356-win64-static\bin>ffmpeg.exe -r 1/5 -start_number 0 -i "C:\Resized"\frame%05d.jpg -c:v libx264 -vf "fps=1,format=yuv420p" out1.mp4
ffmpeg version N-86691-gc885356 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 67.100 / 55. 67.100
libavcodec 57.100.103 / 57.100.103
libavformat 57. 75.100 / 57. 75.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 94.100 / 6. 94.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, image2, from 'C:\Resized\frame%05d.jpg':
Duration: 00:00:01.44, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 11000x5500 [SAR 1:1 DAR 2:1], 25 tbr, 25 tbn, 25 tbc
File 'out1.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[swscaler @ 00000000006662e0] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 000000000017b220] using SAR=1/1
[libx264 @ 000000000017b220] frame MB size (688x344) > level limit (139264)
[libx264 @ 000000000017b220] DPB size (4 frames, 946688 mbs) > level limit (2 frames, 696320 mbs)
[libx264 @ 000000000017b220] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000000000017b220] profile High, level 6.2
[libx264 @ 000000000017b220] 264 - core 152 r2851 ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'out1.mp4':
Metadata:
encoder : Lavf57.75.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 11000x5500 [SAR 1:1 DAR 2:1], q=-1--1, 1 fps, 16384 tbn, 1 tbc
Metadata:
encoder : Lavc57.100.103 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 1 fps=0.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 2 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 3 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 4 fps=1.3 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 5 fps=1.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 5 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 6 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 7 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 8 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 9 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 10 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 10 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 11 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 13 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 14 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 15 fps=1.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 15 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 16 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 17 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 18 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 19 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 20 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 20 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 21 fps=1.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 22 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 23 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 24 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 25 fps=1.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 25 fps=0.5 q=0.0 size= 55040kB time=00:00:00.00 bitrate=N/A speed= frame= 26 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 27 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 28 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 29 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 30 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 31 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 32 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 34 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 35 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 35 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 36 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 37 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 39 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 40 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 40 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 41 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 43 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 44 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 45 fps=0.1 q=0.0 size= 55296kB time=00:00:00.00 bitrate=N/A speed= frame= 46 fps=0.1 q=0.0 size= 77568kB time=00:00:00.00 bitrate=N/A speed= frame= 47 fps=0.0 q=0.0 size= 77824kB time=00:00:00.00 bitrate=N/A speed= frame= 48 fps=0.0 q=0.0 size= 77824kB time=00:00:00.00 bitrate=N/A speed= frame= 49 fps=0.0 q=0.0 size= 77824kB time=00:00:00.00 bitrate=N/A speed= frame= 50 fps=0.0 q=0.0 size= 77824kB time=00:00:00.00 bitrate=N/A speed= frame= 50 fps=0.0 q=0.0 size= 77824kB time=00:00:00.00 bitrate=N/A speed= frame= 51 fps=0.0 q=17.0 size= 8448kB time=-00:00:01.99 bitrate=N/A speed=Nframe= 52 fps=0.0 q=17.0 size= 8448kB time=-00:00:00.99 bitrate=N/A speed=Nframe= 53 fps=0.0 q=17.0 size= 8448kB time=00:00:00.00 bitrate=1134531147.5frame= 54 fps=0.0 q=17.0 size= 8448kB time=00:00:01.00 bitrate=69202.2kbitsframe= 55 fps=0.0 q=17.0 size= 8448kB time=00:00:02.00 bitrate=34602.1kbitsframe= 55 fps=0.0 q=17.0 size= 8448kB time=00:00:02.00 bitrate=34602.1kbitsframe= 56 fps=0.0 q=17.0 size= 14848kB time=00:00:03.00 bitrate=40544.2kbitsframe= 57 fps=0.0 q=17.0 size= 14848kB time=00:00:04.00 bitrate=30408.3kbitsframe= 58 fps=0.0 q=17.0 size= 14848kB time=00:00:05.00 bitrate=24326.7kbitsframe= 59 fps=0.0 q=17.0 size= 14848kB time=00:00:06.00 bitrate=20272.3kbitsframe= 60 fps=0.0 q=17.0 size= 22016kB time=00:00:07.00 bitrate=25764.8kbitsframe= 60 fps=0.0 q=17.0 size= 22016kB time=00:00:07.00 bitrate=25764.8kbitsframe= 61 fps=0.0 q=17.0 size= 22016kB time=00:00:08.00 bitrate=22544.3kbitsframe= 62 fps=0.0 q=17.0 size= 22016kB time=00:00:09.00 bitrate=20039.4kbitsframe= 63 fps=0.0 q=17.0 size= 22016kB time=00:00:10.00 bitrate=18035.4kbitsframe= 64 fps=0.0 q=17.0 size= 29696kB time=00:00:11.00 bitrate=22115.3kbitsframe= 65 fps=0.0 q=17.0 size= 29696kB time=00:00:12.00 bitrate=20272.4kbitsframe= 65 fps=0.0 q=17.0 size= 29696kB time=00:00:12.00 bitrate=20272.4kbitsframe= 66 fps=0.0 q=17.0 size= 29696kB time=00:00:13.00 bitrate=18713.0kbitsframe= 67 fps=0.0 q=17.0 size= 29696kB time=00:00:14.00 bitrate=17376.4kbitsframe= 68 fps=0.0 q=17.0 size= 37376kB time=00:00:15.00 bitrate=20412.2kbitsframe= 69 fps=0.0 q=17.0 size= 37376kB time=00:00:16.00 bitrate=19136.5kbitsframe= 70 fps=0.0 q=17.0 size= 37376kB time=00:00:17.00 bitrate=18010.8kbitsframe= 70 fps=0.0 q=17.0 size= 37376kB time=00:00:17.00 bitrate=18010.8kbitsframe= 71 fps=0.0 q=17.0 size= 37376kB time=00:00:18.00 bitrate=17010.2kbitsframe= 72 fps=0.0 q=17.0 size= 37376kB time=00:00:19.00 bitrate=16114.9kbitsframe= 73 fps=0.0 q=17.0 size= 37376kB time=00:00:20.00 bitrate=15309.2kbitsframe= 74 fps=0.0 q=17.0 size= 37376kB time=00:00:21.00 bitrate=14580.2kbitsframe= 75 fps=0.0 q=17.0 size= 37376kB time=00:00:22.00 bitrate=13917.4kbitsframe= 75 fps=0.0 q=17.0 size= 37376kB time=00:00:22.00 bitrate=13917.4kbitsframe= 76 fps=0.0 q=17.0 size= 44032kB time=00:00:23.00 bitrate=15683.0kbitsframe= 77 fps=0.0 q=17.0 size= 44032kB time=00:00:24.00 bitrate=15029.6kbitsframe= 78 fps=0.0 q=17.0 size= 44032kB time=00:00:25.00 bitrate=14428.4kbitsframe= 79 fps=0.0 q=17.0 size= 44032kB time=00:00:26.00 bitrate=13873.4kbitsframe= 80 fps=0.0 q=17.0 size= 50944kB time=00:00:27.00 bitrate=15456.8kbitsframe= 80 fps=0.0 q=17.0 size= 50944kB time=00:00:27.00 bitrate=15456.8kbitsframe= 81 fps=0.0 q=17.0 size= 50944kB time=00:00:28.00 bitrate=14904.7kbitsframe= 82 fps=0.0 q=17.0 size= 50944kB time=00:00:29.00 bitrate=14390.8kbitsframe= 83 fps=0.0 q=17.0 size= 50944kB time=00:00:30.00 bitrate=13911.1kbitsframe= 84 fps=0.0 q=17.0 size= 58368kB time=00:00:31.00 bitrate=15424.2kbitsframe= 85 fps=0.0 q=17.0 size= 58368kB time=00:00:32.00 bitrate=14942.2kbitsframe= 85 fps=0.0 q=17.0 size= 58368kB time=00:00:32.00 bitrate=14942.2kbitsframe= 86 fps=0.0 q=17.0 size= 58368kB time=00:00:33.00 bitrate=14489.4kbitsframe= 87 fps=0.0 q=17.0 size= 58368kB time=00:00:34.00 bitrate=14063.2kbitsframe= 88 fps=0.0 q=17.0 size= 66048kB time=00:00:35.00 bitrate=15459.0kbitsframe= 89 fps=0.0 q=17.0 size= 66048kB time=00:00:36.00 bitrate=15029.6kbitsframe= 90 fps=0.0 q=17.0 size= 66048kB time=00:00:37.00 bitrate=14623.4kbitsframe= 90 fps=0.0 q=17.0 size= 66048kB time=00:00:37.00 bitrate=14623.4kbitsframe= 91 fps=0.0 q=17.0 size= 66048kB time=00:00:38.00 bitrate=14238.5kbitsframe= 92 fps=0.0 q=17.0 size= 66048kB time=00:00:39.00 bitrate=13873.5kbitsframe= 93 fps=0.0 q=17.0 size= 66048kB time=00:00:40.00 bitrate=13526.6kbitsframe= 94 fps=0.0 q=17.0 size= 66048kB time=00:00:41.00 bitrate=13196.7kbitsframe= 95 fps=0.0 q=17.0 size= 66048kB time=00:00:42.00 bitrate=12882.5kbitsframe= 95 fps=0.0 q=17.0 size= 66048kB time=00:00:42.00 bitrate=12882.5kbitsframe= 96 fps=0.0 q=17.0 size= 72448kB time=00:00:43.00 bitrate=13802.2kbitsframe= 97 fps=0.0 q=17.0 size= 72448kB time=00:00:44.00 bitrate=13488.5kbitsframe= 99 fps=0.0 q=17.0 size= 72448kB time=00:00:46.00 bitrate=12902.0kbitsframe= 100 fps=0.0 q=17.0 size= 79360kB time=00:00:47.00 bitrate=13832.3kbitsframe= 100 fps=0.0 q=17.0 size= 79360kB time=00:00:47.00 bitrate=13832.3kbitsframe= 101 fps=0.0 q=17.0 size= 79360kB time=00:00:48.00 bitrate=13544.1kbitsframe= 103 fps=0.0 q=17.0 size= 79360kB time=00:00:50.00 bitrate=13002.3kbitsframe= 104 fps=0.0 q=17.0 size= 86528kB time=00:00:51.00 bitrate=13898.8kbitsframe= 105 fps=0.0 q=17.0 size= 86528kB time=00:00:52.00 bitrate=13631.5kbitsframe= 105 fps=0.0 q=17.0 size= 86528kB time=00:00:52.00 bitrate=13631.5kbitsframe= 106 fps=0.0 q=17.0 size= 86528kB time=00:00:53.00 bitrate=13374.3kbitsframe= 107 fps=0.0 q=17.0 size= 86528kB time=00:00:54.00 bitrate=13126.6kbitsframe= 108 fps=0.0 q=17.0 size= 94208kB time=00:00:55.00 bitrate=14031.8kbitsframe= 109 fps=0.0 q=17.0 size= 94208kB time=00:00:56.00 bitrate=13781.3kbitsframe= 110 fps=0.0 q=17.0 size= 94208kB time=00:00:57.00 bitrate=13539.5kbitsframe= 111 fps=0.0 q=17.0 size= 94208kB time=00:00:58.00 bitrate=13306.1kbitsframe= 112 fps=0.0 q=17.0 size= 94464kB time=00:00:59.00 bitrate=13116.1kbitsframe= 113 fps=0.0 q=17.0 size= 94464kB time=00:01:00.00 bitrate=12897.5kbitsframe= 115 fps=0.0 q=17.0 size= 94464kB time=00:01:02.00 bitrate=12481.4kbitsframe= 115 fps=0.0 q=17.0 size= 94464kB time=00:01:02.00 bitrate=12481.4kbitsframe= 116 fps=0.0 q=17.0 size= 100608kB time=00:01:03.00 bitrate=13082.2kbitsframe= 117 fps=0.0 q=17.0 size= 100608kB time=00:01:04.00 bitrate=12877.8kbitsframe= 119 fps=0.0 q=17.0 size= 100608kB time=00:01:06.00 bitrate=12487.6kbitsframe= 120 fps=0.0 q=17.0 size= 107520kB time=00:01:07.00 bitrate=13146.3kbitsframe= 121 fps=0.0 q=17.0 size= 107520kB time=00:01:08.00 bitrate=12953.0kbitsframe= 123 fps=0.0 q=17.0 size= 107520kB time=00:01:10.00 bitrate=12582.9kbitsframe= 125 fps=0.0 q=17.0 size= 114944kB time=00:01:12.00 bitrate=13078.1kbitsframe= 126 fps=0.0 q=17.0 size= 114944kB time=00:01:13.00 bitrate=12898.9kbitsframe= 128 fps=0.0 q=17.0 size= 122880kB time=00:01:15.00 bitrate=13421.8kbitsframe= 129 fps=0.0 q=17.0 size= 122880kB time=00:01:16.00 bitrate=13245.2kbitsframe= 130 fps=0.0 q=17.0 size= 122880kB time=00:01:17.00 bitrate=13073.1kbitsframe= 130 fps=0.0 q=17.0 size= 122880kB time=00:01:17.00 bitrate=13073.1kbitsframe= 131 fps=0.0 q=17.0 size= 122880kB time=00:01:18.00 bitrate=12905.5kbitsframe= 133 fps=0.0 q=17.0 size= 122880kB time=00:01:20.00 bitrate=12582.9kbitsframe= 135 fps=0.0 q=17.0 size= 122880kB time=00:01:22.00 bitrate=12276.0kbitsframe= 135 fps=0.0 q=17.0 size= 122880kB time=00:01:22.00 bitrate=12276.0kbitsframe= 136 fps=0.0 q=17.0 size= 129280kB time=00:01:23.00 bitrate=12759.8kbitsframe= 137 fps=0.0 q=17.0 size= 129280kB time=00:01:24.00 bitrate=12607.9kbitsframe= 138 fps=0.0 q=17.0 size= 129280kB time=00:01:25.00 bitrate=12459.5kbitsframe= 140 fps=0.0 q=17.0 size= 136448kB time=00:01:27.00 bitrate=12848.1kbitsframe= 140 fps=0.0 q=17.0 size= 136448kB time=00:01:27.00 bitrate=12848.1kbitsframe= 141 fps=0.0 q=17.0 size= 136448kB time=00:01:28.00 bitrate=12702.1kbitsframe= 143 fps=0.0 q=17.0 size= 136448kB time=00:01:30.00 bitrate=12419.8kbitsframe= 145 fps=0.0 q=17.0 size= 143872kB time=00:01:32.00 bitrate=12810.9kbitsframe= 146 fps=0.0 q=17.0 size= 143872kB time=00:01:33.00 bitrate=12673.1kbitsframe= 148 fps=0.0 q=17.0 size= 151552kB time=00:01:35.00 bitrate=13068.6kbitsframe= 149 fps=0.0 q=17.0 size= 151552kB time=00:01:36.00 bitrate=12932.4kbitsframe= 150 fps=0.0 q=17.0 size= 151552kB time=00:01:37.00 bitrate=12799.1kbitsframe= 150 fps=0.0 q=17.0 size= 151552kB time=00:01:37.00 bitrate=12799.1kbitsframe= 151 fps=0.0 q=17.0 size= 151552kB time=00:01:38.00 bitrate=12668.5kbitsframe= 153 fps=0.0 q=17.0 size= 151552kB time=00:01:40.00 bitrate=12415.1kbitsframe= 155 fps=0.0 q=17.0 size= 151552kB time=00:01:42.00 bitrate=12171.7kbitsframe= 156 fps=0.0 q=17.0 size= 157952kB time=00:01:43.00 bitrate=12562.5kbitsframe= 157 fps=0.0 q=17.0 size= 157952kB time=00:01:44.00 bitrate=12441.8kbitsframe= 159 fps=0.0 q=17.0 size= 157952kB time=00:01:46.00 bitrate=12207.0kbitsframe= 160 fps=0.0 q=17.0 size= 164864kB time=00:01:47.00 bitrate=12622.1kbitsframe= 161 fps=0.0 q=17.0 size= 164864kB time=00:01:48.00 bitrate=12505.2kbitsframe= 163 fps=0.0 q=17.0 size= 164864kB time=00:01:50.00 bitrate=12277.9kbitsframe= 165 fps=0.0 q=17.0 size= 172288kB time=00:01:52.00 bitrate=12601.6kbitsframe= 166 fps=0.0 q=17.0 size= 172288kB time=00:01:53.00 bitrate=12490.1kbitsframe= 168 fps=0.0 q=17.0 size= 179968kB time=00:01:55.00 bitrate=12820.0kbitsframe= 169 fps=0.0 q=17.0 size= 179968kB time=00:01:56.00 bitrate=12709.5kbitsframe= 170 fps=0.0 q=17.0 size= 179968kB time=00:01:57.00 bitrate=12600.8kbitsframe= 171 fps=0.0 q=17.0 size= 179968kB time=00:01:58.00 bitrate=12494.0kbitsframe= 173 fps=0.0 q=17.0 size= 179968kB time=00:02:00.00 bitrate=12285.8kbitsframe= 175 fps=0.0 q=17.0 size= 179968kB time=00:02:02.00 bitrate=12084.4kbitsframe= 176 fps=0.0 q=17.0 size= 186368kB time=00:02:03.00 bitrate=12412.4kbitsframe= 176 fps=0.0 q=-1.0 Lsize= 254547kB time=00:02:53.00 bitrate=12053.5kbits/s speed=0.0344x
video:254543kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001571%
[libx264 @ 000000000017b220] frame I:1 Avg QP: 7.13 size:8716365
[libx264 @ 000000000017b220] frame P:44 Avg QP:10.34 size:5710783
[libx264 @ 000000000017b220] frame B:131 Avg QP:13.29 size: 5046
[libx264 @ 000000000017b220] consecutive B-frames: 0.6% 0.0% 1.7% 97.7%
[libx264 @ 000000000017b220] mb I I16..4: 22.8% 68.7% 8.5%
[libx264 @ 000000000017b220] mb P I16..4: 0.8% 44.9% 3.6% P16..4: 4.9% 5.5% 3.1% 0.0% 0.0% skip:37.1%
[libx264 @ 000000000017b220] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.6% 0.0% 0.0% direct: 0.1% skip:99.2% L0:42.7% L1:55.9% BI: 1.5%
[libx264 @ 000000000017b220] 8x8 transform intra:90.1% inter:72.0%
[libx264 @ 000000000017b220] coded y,uvDC,uvAC intra: 96.9% 93.0% 90.5% inter: 3.6% 3.7% 3.6%
[libx264 @ 000000000017b220] i16 v,h,dc,p: 50% 15% 14% 21%
[libx264 @ 000000000017b220] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 29% 21% 4% 5% 4% 7% 5% 9%
[libx264 @ 000000000017b220] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 33% 11% 6% 9% 6% 9% 5% 8%
[libx264 @ 000000000017b220] i8c dc,h,v,p: 50% 29% 16% 5%
[libx264 @ 000000000017b220] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000000000017b220] ref P L0: 44.8% 21.7% 12.8% 20.8%
[libx264 @ 000000000017b220] ref B L0: 85.0% 14.0% 1.0%
[libx264 @ 000000000017b220] ref B L1: 98.0% 2.0%
[libx264 @ 000000000017b220] kb/s:11847.81As can be seen :
- it reported :
deprecated pixel format used, make sure you did set range correctly
what that means ?
- It is trying to process more than 36 frames, when we only have 36 frames.
- Until frame 25, size is zero and bitrate is N/A and after frame 25, size became none zero.
- It runs for several hundred images and then stops, but I can not play video.
- After frame 47, FPS became zero.
- I can not play back the output video.
How can I fix these problems and create a video from these frames ?
Edit1
After getting some reply, I noted that h264 can not support the final resolution so I converted to use VP9 and I am using this command :
ffmpeg -i %1\frame%%05d.jpg -c:v libvpx-vp9 -b:v 2M -c:a libvorbis output.webm
I am getting the right number of frames, but I can not play the output using VLC.
- Is there any player that can play this resolution ?
- Is there any way that I can check that the data in video is correct other than playing it ? For example by extracting them into several images and view the images.
-
ADD Image overlay to ffmpeg video stream
1er juillet 2017, par ChrisI am new to ffmpeg and want to add an HUD to the video stream, so a few questions.
- What file do I need to edit.
- What do I need to do to achieve this.
Thanks in advance. Also I am VERY new to all of this, I will need instructions step by step
I saw other questions saying to add this :
ffmpeg -n -i video.mp4 -i logo.png -filter_complex "[0:v]setsar=sar=1[v];[v][1]blend=all_mode='overlay':all_opacity=0.7" -movflags +faststart tmb/video.mp4
But I dont know where to put it, i entered it in the terminal and got this :
pi@raspberrypi:~ $ ffmpeg -n -i video.mp4 -i logo.png -filter_complex "[0:v]setsar=sar=1[v];[v][1]blend=all_mode='overlay':all_opacity=0.7" -movflags +faststart tmb/video.mp4
ffmpeg version N-86215-gb5228e4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Raspbian 4.9.2-10)
configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --extra-libs=-ldl
libavutil 55. 63.100 / 55. 63.100
libavcodec 57. 96.101 / 57. 96.101
libavformat 57. 72.101 / 57. 72.101
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 90.100 / 6. 90.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
video.mp4: No such file or directoryI dont understand what i am supposed to do with the video.mp4 ?
HERE IS THE SCRIPT THAT SENDS THE VIDEO.
import subprocess
import shlex
import re
import os
import time
import urllib2
import platform
import json
import sys
import base64
import random
import argparse
parser = argparse.ArgumentParser(description='robot control')
parser.add_argument('camera_id')
parser.add_argument('video_device_number', default=0, type=int)
parser.add_argument('--kbps', default=450, type=int)
parser.add_argument('--brightness', default=75, type=int, help='camera brightness')
parser.add_argument('--contrast', default=75, type=int, help='camera contrast')
parser.add_argument('--saturation', default=15, type=int, help='camera saturation')
parser.add_argument('--rotate180', default=False, type=bool, help='rotate image 180 degrees')
parser.add_argument('--env', default="prod")
args = parser.parse_args()
server = "runmyrobot.com"
#server = "52.52.213.92"
from socketIO_client import SocketIO, LoggingNamespace
# enable raspicam driver in case a raspicam is being used
os.system("sudo modprobe bcm2835-v4l2")
if args.env == "dev":
print "using dev port 8122"
port = 8122
elif args.env == "prod":
print "using prod port 8022"
port = 8022
else:
print "invalid environment"
sys.exit(0)
print "initializing socket io"
print "server:", server
print "port:", port
socketIO = SocketIO(server, port, LoggingNamespace)
print "finished initializing socket io"
#ffmpeg -f qtkit -i 0 -f mpeg1video -b 400k -r 30 -s 320x240 http://52.8.81.124:8082/hello/320/240/
def onHandleCameraCommand(*args):
#thread.start_new_thread(handle_command, args)
print args
socketIO.on('command_to_camera', onHandleCameraCommand)
def onHandleTakeSnapshotCommand(*args):
print "taking snapshot"
inputDeviceID = streamProcessDict['device_answer']
snapShot(platform.system(), inputDeviceID)
with open ("snapshot.jpg", 'rb') as f:
data = f.read()
print "emit"
socketIO.emit('snapshot', {'image':base64.b64encode(data)})
socketIO.on('take_snapshot_command', onHandleTakeSnapshotCommand)
def randomSleep():
"""A short wait is good for quick recovery, but sometimes a longer delay is needed or it will just keep trying and failing short intervals, like because the system thinks the port is still in use and every retry makes the system think it's still in use. So, this has a high likelihood of picking a short interval, but will pick a long one sometimes."""
timeToWait = random.choice((0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 5))
print "sleeping", timeToWait
time.sleep(timeToWait)
def getVideoPort():
url = 'http://%s/get_video_port/%s' % (server, cameraIDAnswer)
for retryNumber in range(2000):
try:
print "GET", url
response = urllib2.urlopen(url).read()
break
except:
print "could not open url ", url
time.sleep(2)
return json.loads(response)['mpeg_stream_port']
def getAudioPort():
url = 'http://%s/get_audio_port/%s' % (server, cameraIDAnswer)
for retryNumber in range(2000):
try:
print "GET", url
response = urllib2.urlopen(url).read()
break
except:
print "could not open url ", url
time.sleep(2)
return json.loads(response)['audio_stream_port']
def runFfmpeg(commandLine):
print commandLine
ffmpegProcess = subprocess.Popen(shlex.split(commandLine))
print "command started"
return ffmpegProcess
def handleDarwin(deviceNumber, videoPort, audioPort):
p = subprocess.Popen(["ffmpeg", "-list_devices", "true", "-f", "qtkit", "-i", "dummy"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print err
deviceAnswer = raw_input("Enter the number of the camera device for your robot from the list above: ")
commandLine = 'ffmpeg -f qtkit -i %s -f mpeg1video -b 400k -r 30 -s 320x240 http://%s:%s/hello/320/240/' % (deviceAnswer, server, videoPort)
process = runFfmpeg(commandLine)
return {'process': process, 'device_answer': deviceAnswer}
def handleLinux(deviceNumber, videoPort, audioPort):
print "sleeping to give the camera time to start working"
randomSleep()
print "finished sleeping"
#p = subprocess.Popen(["ffmpeg", "-list_devices", "true", "-f", "qtkit", "-i", "dummy"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#out, err = p.communicate()
#print err
os.system("v4l2-ctl -c brightness={brightness} -c contrast={contrast} -c saturation={saturation}".format(brightness=args.brightness,
contrast=args.contrast,
saturation=args.saturation))
if deviceNumber is None:
deviceAnswer = raw_input("Enter the number of the camera device for your robot: ")
else:
deviceAnswer = str(deviceNumber)
#commandLine = '/usr/local/bin/ffmpeg -s 320x240 -f video4linux2 -i /dev/video%s -f mpeg1video -b 1k -r 20 http://runmyrobot.com:%s/hello/320/240/' % (deviceAnswer, videoPort)
#commandLine = '/usr/local/bin/ffmpeg -s 640x480 -f video4linux2 -i /dev/video%s -f mpeg1video -b 150k -r 20 http://%s:%s/hello/640/480/' % (deviceAnswer, server, videoPort)
# For new JSMpeg
#commandLine = '/usr/local/bin/ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video%s -f mpegts -codec:v mpeg1video -s 640x480 -b:v 250k -bf 0 http://%s:%s/hello/640/480/' % (deviceAnswer, server, videoPort) # ClawDaddy
#commandLine = '/usr/local/bin/ffmpeg -s 1280x720 -f video4linux2 -i /dev/video%s -f mpeg1video -b 1k -r 20 http://runmyrobot.com:%s/hello/1280/720/' % (deviceAnswer, videoPort)
if args.rotate180:
rotationOption = "-vf transpose=2,transpose=2"
else:
rotationOption = ""
# video with audio
videoCommandLine = '/usr/local/bin/ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video%s %s -f mpegts -codec:v mpeg1video -s 640x480 -b:v %dk -bf 0 -muxdelay 0.001 http://%s:%s/hello/640/480/' % (deviceAnswer, rotationOption, args.kbps, server, videoPort)
audioCommandLine = '/usr/local/bin/ffmpeg -f alsa -ar 44100 -ac 1 -i hw:1 -f mpegts -codec:a mp2 -b:a 32k -muxdelay 0.001 http://%s:%s/hello/640/480/' % (server, audioPort)
print videoCommandLine
print audioCommandLine
videoProcess = runFfmpeg(videoCommandLine)
audioProcess = runFfmpeg(audioCommandLine)
return {'video_process': videoProcess, 'audioProcess': audioProcess, 'device_answer': deviceAnswer}
def handleWindows(deviceNumber, videoPort):
p = subprocess.Popen(["ffmpeg", "-list_devices", "true", "-f", "dshow", "-i", "dummy"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
lines = err.split('\n')
count = 0
devices = []
for line in lines:
#if "] \"" in line:
# print "line:", line
m = re.search('.*\\"(.*)\\"', line)
if m != None:
#print line
if m.group(1)[0:1] != '@':
print count, m.group(1)
devices.append(m.group(1))
count += 1
if deviceNumber is None:
deviceAnswer = raw_input("Enter the number of the camera device for your robot from the list above: ")
else:
deviceAnswer = str(deviceNumber)
device = devices[int(deviceAnswer)]
commandLine = 'ffmpeg -s 640x480 -f dshow -i video="%s" -f mpegts -codec:v mpeg1video -b 200k -r 20 http://%s:%s/hello/640/480/' % (device, server, videoPort)
process = runFfmpeg(commandLine)
return {'process': process, 'device_answer': device}
def handleWindowsScreenCapture(deviceNumber, videoPort):
p = subprocess.Popen(["ffmpeg", "-list_devices", "true", "-f", "dshow", "-i", "dummy"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
lines = err.split('\n')
count = 0
devices = []
for line in lines:
#if "] \"" in line:
# print "line:", line
m = re.search('.*\\"(.*)\\"', line)
if m != None:
#print line
if m.group(1)[0:1] != '@':
print count, m.group(1)
devices.append(m.group(1))
count += 1
if deviceNumber is None:
deviceAnswer = raw_input("Enter the number of the camera device for your robot from the list above: ")
else:
deviceAnswer = str(deviceNumber)
device = devices[int(deviceAnswer)]
commandLine = 'ffmpeg -f dshow -i video="screen-capture-recorder" -vf "scale=640:480" -f mpeg1video -b 50k -r 20 http://%s:%s/hello/640/480/' % (server, videoPort)
print "command line:", commandLine
process = runFfmpeg(commandLine)
return {'process': process, 'device_answer': device}
def snapShot(operatingSystem, inputDeviceID, filename="snapshot.jpg"):
try:
os.remove('snapshot.jpg')
except:
print "did not remove file"
commandLineDict = {
'Darwin': 'ffmpeg -y -f qtkit -i %s -vframes 1 %s' % (inputDeviceID, filename),
'Linux': '/usr/local/bin/ffmpeg -y -f video4linux2 -i /dev/video%s -vframes 1 -q:v 1000 -vf scale=320:240 %s' % (inputDeviceID, filename),
'Windows': 'ffmpeg -y -s 320x240 -f dshow -i video="%s" -vframes 1 %s' % (inputDeviceID, filename)}
print commandLineDict[operatingSystem]
os.system(commandLineDict[operatingSystem])
def startVideoCapture():
videoPort = getVideoPort()
audioPort = getAudioPort()
print "video port:", videoPort
print "audio port:", audioPort
#if len(sys.argv) >= 3:
# deviceNumber = sys.argv[2]
#else:
# deviceNumber = None
deviceNumber = args.video_device_number
result = None
if platform.system() == 'Darwin':
result = handleDarwin(deviceNumber, videoPort, audioPort)
elif platform.system() == 'Linux':
result = handleLinux(deviceNumber, videoPort, audioPort)
elif platform.system() == 'Windows':
#result = handleWindowsScreenCapture(deviceNumber, videoPort)
result = handleWindows(deviceNumber, videoPort, audioPort)
else:
print "unknown platform", platform.system()
return result
def timeInMilliseconds():
return int(round(time.time() * 1000))
def main():
print "main"
streamProcessDict = None
twitterSnapCount = 0
while True:
socketIO.emit('send_video_status', {'send_video_process_exists': True,
'camera_id':cameraIDAnswer})
if streamProcessDict is not None:
print "stopping previously running ffmpeg (needs to happen if this is not the first iteration)"
streamProcessDict['process'].kill()
print "starting process just to get device result" # this should be a separate function so you don't have to do this
streamProcessDict = startVideoCapture()
inputDeviceID = streamProcessDict['device_answer']
print "stopping video capture"
streamProcessDict['process'].kill()
#print "sleeping"
#time.sleep(3)
#frameCount = int(round(time.time() * 1000))
videoWithSnapshots = False
while videoWithSnapshots:
frameCount = timeInMilliseconds()
print "taking single frame image"
snapShot(platform.system(), inputDeviceID, filename="single_frame_image.jpg")
with open ("single_frame_image.jpg", 'rb') as f:
# every so many frames, post a snapshot to twitter
#if frameCount % 450 == 0:
if frameCount % 6000 == 0:
data = f.read()
print "emit"
socketIO.emit('snapshot', {'frame_count':frameCount, 'image':base64.b64encode(data)})
data = f.read()
print "emit"
socketIO.emit('single_frame_image', {'frame_count':frameCount, 'image':base64.b64encode(data)})
time.sleep(0)
#frameCount += 1
if False:
if platform.system() != 'Windows':
print "taking snapshot"
snapShot(platform.system(), inputDeviceID)
with open ("snapshot.jpg", 'rb') as f:
data = f.read()
print "emit"
# skip sending the first image because it's mostly black, maybe completely black
#todo: should find out why this black image happens
if twitterSnapCount > 0:
socketIO.emit('snapshot', {'image':base64.b64encode(data)})
print "starting video capture"
streamProcessDict = startVideoCapture()
# This loop counts out a delay that occurs between twitter snapshots.
# Every 50 seconds, it kills and restarts ffmpeg.
# Every 40 seconds, it sends a signal to the server indicating status of processes.
period = 2*60*60 # period in seconds between snaps
for count in range(period):
time.sleep(1)
if count % 20 == 0:
socketIO.emit('send_video_status', {'send_video_process_exists': True,
'camera_id':cameraIDAnswer})
if count % 40 == 30:
print "stopping video capture just in case it has reached a state where it's looping forever, not sending video, and not dying as a process, which can happen"
streamProcessDict['video_process'].kill()
streamProcessDict['audio_process'].kill()
time.sleep(1)
if count % 80 == 75:
print "send status about this process and its child process ffmpeg"
ffmpegProcessExists = streamProcessDict['process'].poll() is None
socketIO.emit('send_video_status', {'send_video_process_exists': True,
'ffmpeg_process_exists': ffmpegProcessExists,
'camera_id':cameraIDAnswer})
#if count % 190 == 180:
# print "reboot system in case the webcam is not working"
# os.system("sudo reboot")
# if the video stream process dies, restart it
if streamProcessDict['video_process'].poll() is not None or streamProcessDict['audio_process'].poll():
# wait before trying to start ffmpeg
print "ffmpeg process is dead, waiting before trying to restart"
randomSleep()
streamProcessDict = startVideoCapture()
twitterSnapCount += 1
if __name__ == "__main__":
#if len(sys.argv) > 1:
# cameraIDAnswer = sys.argv[1]
#else:
# cameraIDAnswer = raw_input("Enter the Camera ID for your robot, you can get it by pointing a browser to the runmyrobot server %s: " % server)
cameraIDAnswer = args.camera_id
main()ERROR :
ffmpeg -n -f mpegts -i http://54.183.232.63:12221 -i logo.png -filter_complex "[0:v]setsar=sar=1[v];[v][1]blend=all_mode='overlay':all_opacity=0.7" -movflags +faststart tmb/video.mp4
ffmpeg version N-86215-gb5228e4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Raspbian 4.9.2-10)
configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --extra-libs=-ldl
libavutil 55. 63.100 / 55. 63.100
libavcodec 57. 96.101 / 57. 96.101
libavformat 57. 72.101 / 57. 72.101
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 90.100 / 6. 90.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
[mpegts @ 0x1a57390] Could not detect TS packet size, defaulting to non-FEC/DVHS
http://54.183.232.63:12221: could not find codec parameters -
ffmpeg got stuck while trying to crossfade merge two videos
30 juin 2017, par JeflopoI’m trying to do a crossfade merge (1s) between two videos. An intro (39secs duration) video with the main video. When I executed the command it started working without throwing errors but at some frame ffmpeg gets stuck.
I read a lot of q/a here in stackoverflow, and the official docs but I can’t solve this so :
This is the command :
ffmpeg -i "inputs/intro.mp4" -i "inputs/240p.mp4" -an -filter_complex \
"[0:v]trim=start=0:end=38,setpts=PTS-STARTPTS[firstclip]; \
[0:v]trim=start=38:end=39,setpts=PTS-STARTPTS[fadeoutsrc]; \
[1:v]trim=start=1,setpts=PTS-STARTPTS[secondclip]; \
[1:v]trim=start=0:end=1,setpts=PTS-STARTPTS[fadeinsrc]; \
[fadeinsrc]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[fadein]; \
[fadeoutsrc]format=pix_fmts=yuva420p, fade=t=out:st=0:d=1:alpha=1[fadeout]; \
[fadein]fifo[fadeinfifo]; \
[fadeout]fifo[fadeoutfifo]; \
[fadeoutfifo][fadeinfifo]overlay[crossfade]; \
[firstclip][crossfade][secondclip]concat=n=3[output]; \
[0:a][1:a] acrossfade=d=1 [audio]" -vcodec libx264 -map "[output]" -map "[audio]" "outputs/240p.mp4"Here’s the raw command (the exact command I used) :
ffmpeg -i "inputs/intro.mp4" -i "inputs/240p.mp4" -an -filter_complex "[0:v]trim=start=0:end=38,setpts=PTS-STARTPTS[firstclip]; [0:v]trim=start=38:end=39,setpts=PTS-STARTPTS[fadeoutsrc]; [1:v]trim=start=1,setpts=PTS-STARTPTS[secondclip]; [1:v]trim=start=0:end=1,setpts=PTS-STARTPTS[fadeinsrc]; [fadeinsrc]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[fadein]; [fadeoutsrc]format=pix_fmts=yuva420p, fade=t=out:st=0:d=1:alpha=1[fadeout]; [fadein]fifo[fadeinfifo]; [fadeout]fifo[fadeoutfifo]; [fadeoutfifo][fadeinfifo]overlay[crossfade]; [firstclip][crossfade][secondclip]concat=n=3[output]; [0:a][1:a] acrossfade=d=1 [audio]" -vcodec libx264 -map "[output]" -map "[audio]" "outputs/240p.mp4"
The "error" is reproducible with and without the
-an
and theacrossfade
filters.This is the output :
PS C:\scripts\ffmpeg> ffmpeg -i "inputs/intro.mp4" -i "inputs/240p.mp4" -an -filter_complex "[0:v]trim=start=0:end=38,setpts=PTS-STARTPTS[firstclip]; [0:v]trim=start=38:end=39,setpts=PTS-STARTPTS[fadeoutsrc]; [1:v]trim=start=1,setpts=PTS-STARTPTS[secondclip]; [1:v]trim=start=0:end=1,setpts=PTS-STARTPTS[fadeinsrc]; [fadeinsrc]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[fadein]; [fadeoutsrc]format=pix_fmts=yuva420p, fade=t=out:st=0:d=1:alpha=1[fadeout]; [fadein]fifo[fadeinfifo]; [fadeout]fifo[fadeoutfifo]; [fadeoutfifo][fadeinfifo]overlay[crossfade]; [firstclip][crossfade][secondclip]concat=n=3[output]; [0:a][1:a] acrossfade=d=1 [audio]" -map "[output]" -map "[audio]" "outputs/240p.mp4"
ffmpeg version N-86669-gc1d1274 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 67.100 / 55. 67.100
libavcodec 57.100.102 / 57.100.102
libavformat 57. 75.100 / 57. 75.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 94.100 / 6. 94.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'inputs/intro.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.72.101
Duration: 00:06:24.45, start: 0.000000, bitrate: 491 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 426x240 [SAR 1:1 DAR 71:40], 353 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 130 kb/s (default)
Metadata:
handler_name : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'inputs/240p.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.101
Duration: 00:06:24.43, start: 0.000000, bitrate: 375 kb/s
Stream #1:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 426x240 [SAR 1:1 DAR 71:40], 243 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 (h264) -> trim
Stream #0:0 (h264) -> trim
Stream #0:1 (aac) -> acrossfade:crossfade0
Stream #1:0 (h264) -> trim
Stream #1:0 (h264) -> trim
Stream #1:1 (aac) -> acrossfade:crossfade1
concat -> Stream #0:0 (libx264)
acrossfade -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 00000000026b2240] using SAR=1/1
[libx264 @ 00000000026b2240] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 00000000026b2240] profile High, level 2.1
[libx264 @ 00000000026b2240] 264 - core 152 r2851 ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=7 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'outputs/240p.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.75.100
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 426x240 [SAR 1:1 DAR 71:40], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
Metadata:
encoder : Lavc57.100.102 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
encoder : Lavc57.100.102 aac
frame=10369 fps=503 q=28.0 size= 24064kB time=00:06:55.68 bitrate= 474.2kbits/s speed=20.2xAt frame 10000 it gets stuck... I waited for 1hour but it keeps stuck.
I’ve updated ffmpeg :
ffmpeg -version
ffmpeg version N-86669-gc1d1274 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 67.100 / 55. 67.100
libavcodec 57.100.102 / 57.100.102
libavformat 57. 75.100 / 57. 75.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 94.100 / 6. 94.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100I used these references :