
Recherche avancée
Autres articles (58)
-
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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
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 (7507)
-
TTML subtitle missing in HLS
6 juillet 2020, par playmaker420I tried to inject a ttml subtitle into a mp4 file using the following command.


docker run --rm -v `pwd`:/work sambaiz/mp4box -add my.ttml input.mp4


ffmpeg -i input.mp4 
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.4)
 configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --disable-ffserver --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libtheora --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc --enable-libzimg
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2017-07-06T10:21:17.000000Z
 Duration: 00:03:46.77, start: 0.000000, bitrate: 1900 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1770 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
 Metadata:
 creation_time : 2017-07-06T10:21:17.000000Z
 handler_name : ISO Media file produced by Google Inc.
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
 Metadata:
 creation_time : 2017-07-06T10:21:17.000000Z
 handler_name : ISO Media file produced by Google Inc.
 Stream #0:2(und): Data: none (stpp / 0x70707473), 3 kb/s (default)
 Metadata:
 creation_time : 2020-07-06T09:17:16.000000Z
 handler_name : ***ttml@GPAC0.6.1-rev14-g8eb0297-master**



On playing the input.mp4 with exo player i was able to see the injected ttml subtitle.


Now im trying to conver this mp4 file in to hls using the following command


ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8


ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.4)
 configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --disable-ffserver --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libtheora --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc --enable-libzimg
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2017-07-06T10:21:17.000000Z
 Duration: 00:03:46.77, start: 0.000000, bitrate: 1900 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1770 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
 Metadata:
 creation_time : 2017-07-06T10:21:17.000000Z
 handler_name : ISO Media file produced by Google Inc.
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
 Metadata:
 creation_time : 2017-07-06T10:21:17.000000Z
 handler_name : ISO Media file produced by Google Inc.
 Stream #0:2(und): Data: none (stpp / 0x70707473), 3 kb/s (default)
 Metadata:
 creation_time : 2020-07-06T09:17:16.000000Z
 handler_name : *ttml@GPAC0.6.1-rev14-g8eb0297-master
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x2270e20] using SAR=1/1
[libx264 @ 0x2270e20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x2270e20] profile Constrained Baseline, level 3.0
[libx264 @ 0x2270e20] 264 - core 148 r2795 aaa9aa8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 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
[hls @ 0x226d6a0] Opening 'index0.ts' for writing
Output #0, hls, to 'index.m3u8':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 encoder : Lavf57.83.100
 Stream #0:0(und): Video: h264 (libx264), yuv420p(progressive), 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 90k tbn, 29.97 tbc (default)
 Metadata:
 creation_time : 2017-07-06T10:21:17.000000Z
 handler_name : ISO Media file produced by Google Inc.
 encoder : Lavc57.107.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1(und): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 creation_time : 2017-07-06T10:21:17.000000Z
 handler_name : ISO Media file produced by Google Inc.
 encoder : Lavc57.107.100 aac
[hls @ 0x226d6a0] Opening 'index1.ts' for writing.16 bitrate=N/A speed=12.1x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index2.ts' for writing.45 bitrate=N/A speed=11.2x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index3.ts' for writing.78 bitrate=N/A speed=10.6x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index4.ts' for writing.72 bitrate=N/A speed=9.91x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index5.ts' for writing.07 bitrate=N/A speed=9.32x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index6.ts' for writing.55 bitrate=N/A speed=9.05x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index7.ts' for writing.72 bitrate=N/A speed=9.27x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index8.ts' for writing.75 bitrate=N/A speed=9.39x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index9.ts' for writing.78 bitrate=N/A speed= 9.1x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index10.ts' for writing25 bitrate=N/A speed=8.95x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index11.ts' for writing47 bitrate=N/A speed=8.77x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index12.ts' for writing99 bitrate=N/A speed=8.61x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index13.ts' for writing83 bitrate=N/A speed=8.32x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index14.ts' for writing89 bitrate=N/A speed=8.43x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index15.ts' for writing25 bitrate=N/A speed= 8.5x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index16.ts' for writing84 bitrate=N/A speed=8.56x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index17.ts' for writing43 bitrate=N/A speed=8.71x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index18.ts' for writing67 bitrate=N/A speed=8.88x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index19.ts' for writing88 bitrate=N/A speed=8.99x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index20.ts' for writing87 bitrate=N/A speed=9.03x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index21.ts' for writing67 bitrate=N/A speed=9.06x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index22.ts' for writing63 bitrate=N/A speed=9.08x 
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writing
[hls @ 0x226d6a0] Opening 'index.m3u8.tmp' for writingitrate=N/A speed=9.12x 
frame= 6796 fps=272 q=-1.0 Lsize=N/A time=00:03:46.76 bitrate=N/A speed=9.08x 
video:25157kB audio:3473kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x2270e20] frame I:44 Avg QP:20.35 size: 33397
[libx264 @ 0x2270e20] frame P:6752 Avg QP:23.97 size: 3598
[libx264 @ 0x2270e20] mb I I16..4: 28.8% 0.0% 71.2%
[libx264 @ 0x2270e20] mb P I16..4: 1.6% 0.0% 0.7% P16..4: 30.3% 13.5% 5.6% 0.0% 0.0% skip:48.3%
[libx264 @ 0x2270e20] coded y,uvDC,uvAC intra: 33.6% 62.8% 24.4% inter: 14.8% 21.2% 5.5%
[libx264 @ 0x2270e20] i16 v,h,dc,p: 25% 47% 12% 16%
[libx264 @ 0x2270e20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 23% 21% 5% 7% 6% 8% 4% 6%
[libx264 @ 0x2270e20] i8c dc,h,v,p: 54% 30% 13% 4%
[libx264 @ 0x2270e20] ref P L0: 75.4% 14.1% 10.5%
[libx264 @ 0x2270e20] kb/s:908.80
[aac @ 0x221e760] Qavg: 2866.916



Now on playing these segments in exo player i could see the subtitle option listed in exo player but the subtitle is not showing. Can someone help me to figure out the issue


Thanks in advance


-
FFMPEG fade in/out expressed in milliseconds
22 juillet 2020, par orestinoI working on a programmatic sketch to cut, crop and fade in/out audio from a single input video file.
Everything works pretty well except for the audio fade in fade out.


Everything work fine if I set a fade in and fade out time of 1 (or more) seconds. Here's my command :


ffmpeg -ss 0:1:11.10 -i INPUT_FILE.mp4 -filter:a afade=t=in:st=0:d=1.0,afade=t=out:st=55.867:d=1.0 -filter:v crop=720:720:138:0 -to 0:0:56.86 OUTPUT_FILE.mp4



Fade filter stop working if I set time less than 1 secs (say 100ms like the following example).


ffmpeg -ss 0:1:11.10 -i INPUT_FILE.mp4 -filter:a afade=t=in:st=0:d=0.1,afade=t=out:st=56.767:d=0.1 -filter:v crop=720:720:138:0 -to 0:0:56.86 OUTPUT_FILE.mov



I mean, ffmpeg is not complaining about any error but the output video file simply has no fade in or fade out.


Why ?
What I'm doing wrong ?


Thank you so much for your support


Edit 22/07/2020 :
here's the output from the second command :


ffmpeg -ss 0:1:11.10 -i 2020-07-20_00-13-35.mkv -filter:a afade=t=in:st=0:d=0.1,afade=t=out:st=56.767:d=0.1 -filter:v crop=720:720:138:0 -to 0:0:56.86 ./_selections/2020-07-20_00-13-35_R1_crop2_w_fadein_fadeout_0:1:11.10.mov
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
 configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
 WARNING: library configuration mismatch
 avcodec configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
Input #0, matroska,webm, from '2020-07-20_00-13-35.mkv':
 Metadata:
 ENCODER : Lavf57.83.100
 Duration: 00:03:19.23, start: 0.000000, bitrate: 2661 kb/s
 Stream #0:0: Video: h264 (High), yuv420p(progressive), 1440x900, 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
 Metadata:
 DURATION : 00:03:19.233000000
 Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)
 Metadata:
 title : audio desktop
 DURATION : 00:03:19.065000000
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x564dad2f9680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x564dad2f9680] profile High, level 3.1
[libx264 @ 0x564dad2f9680] 264 - core 152 r2854 e9a5903 - 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=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, mov, to './_selections/2020-07-20_00-13-35_R1_crop2_w_fadein_fadeout_0:1:11.10.mov':
 Metadata:
 encoder : Lavf57.83.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 720x720, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
 Metadata:
 DURATION : 00:03:19.233000000
 encoder : Lavc57.107.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 title : audio desktop
 DURATION : 00:03:19.065000000
 encoder : Lavc57.107.100 aac
frame= 1706 fps=140 q=-1.0 Lsize= 2685kB time=00:00:56.86 bitrate= 386.7kbits/s speed=4.67x 
video:1681kB audio:942kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.351145%
[libx264 @ 0x564dad2f9680] frame I:7 Avg QP:15.76 size: 60653
[libx264 @ 0x564dad2f9680] frame P:448 Avg QP:23.13 size: 1372
[libx264 @ 0x564dad2f9680] frame B:1251 Avg QP:31.17 size: 545
[libx264 @ 0x564dad2f9680] consecutive B-frames: 1.3% 2.3% 1.4% 95.0%
[libx264 @ 0x564dad2f9680] mb I I16..4: 29.2% 37.7% 33.1%
[libx264 @ 0x564dad2f9680] mb P I16..4: 0.1% 0.4% 0.5% P16..4: 2.1% 0.2% 0.2% 0.0% 0.0% skip:96.4%
[libx264 @ 0x564dad2f9680] mb B I16..4: 0.0% 0.3% 0.2% B16..8: 1.5% 0.1% 0.1% direct: 0.0% skip:97.8% L0:51.7% L1:46.3% BI: 2.0%
[libx264 @ 0x564dad2f9680] 8x8 transform intra:43.2% inter:27.7%
[libx264 @ 0x564dad2f9680] coded y,uvDC,uvAC intra: 35.4% 42.2% 40.1% inter: 0.3% 0.5% 0.3%
[libx264 @ 0x564dad2f9680] i16 v,h,dc,p: 61% 37% 2% 0%
[libx264 @ 0x564dad2f9680] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 7% 59% 2% 0% 0% 0% 1% 1%
[libx264 @ 0x564dad2f9680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 17% 25% 10% 4% 5% 5% 7% 7%
[libx264 @ 0x564dad2f9680] i8c dc,h,v,p: 66% 19% 7% 7%
[libx264 @ 0x564dad2f9680] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x564dad2f9680] ref P L0: 65.1% 15.3% 13.6% 5.9%
[libx264 @ 0x564dad2f9680] ref B L0: 68.1% 27.1% 4.8%
[libx264 @ 0x564dad2f9680] ref B L1: 95.3% 4.7%
[libx264 @ 0x564dad2f9680] kb/s:242.09
[aac @ 0x564dad2f25a0] Qavg: 606.451



-
FFmpeg (Thumbnail from video) works in command line, but not in PHP script
2 mars 2017, par Jun KimI looked at the similar questions, and the solutions there do not work in my case. Anyone has any idea ? I am trying to capture a thumbnail from a given video file.
Later, my goal is to capture a thumbnail from live streaming video file.
Below is my current set up.
Linux Ubuntu 16.04
PHP version 7.0
Nginx Version 1.10.3
FFmpeg Version FFmpeg 2.8.11
I installed FFmpeg through below commands in my Ubuntu server.
apt-get update
apt-get install ffmpegWhen I type the below command line in the terminal, it does the conversion fine.
ffmpeg -i /etc/nginx/html/test.mp4 -ss 00:00:01 -vframes 1 -vf scale=240:120 /etc/nginx/html/Share/ffmpeg/thumbnails/test.png;
In order to use it in php file, I confirmed the location of ffmpeg binaries by I typing in the terminal,
which ffmpeg
, and it returns/usr/bin/ffmpeg
I also gave permission to the directory by using
chmod 755
command line.Here is what I have in my ffmpeg.php file.
I included the full path to my ffmpeg as you can see.<?php
header("Content-Type: text/html;charset=UTF-8");
$ffmpeg = "/usr/bin/ffmpeg";
$videoFile="/etc/nginx/html/test.mp4";
$thumbnail= "/etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail1.jpg";
$cmd = "$ffmpeg -i $videoFile -ss 00:00:01 -vframes 1 -vf scale=240:120 $thumbnail 2>&1 &";
$output = shell_exec($cmd);
echo "<pre>".$output."</pre>";
?>This returns the message like below.
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/etc/nginx/html/Share/test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf53.24.2
Duration: 00:00:06.40, start: 0.000000, bitrate: 1321 kb/s
Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 932 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
[swscaler @ 0x1621be0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail1.jpg':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf56.40.101
Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 240x120 [SAR 20:23 DAR 40:23], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
encoder : Lavc56.60.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[image2 @ 0x16165a0] Could not open file : /etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail1.jpg
av_interleaved_write_frame(): Input/output error
frame= 1 fps=0.0 q=3.9 Lsize=N/A time=00:00:00.04 bitrate=N/A
video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!UPDATED : I also gave permission to ffmpeg by chmod +x $(which ffmpeg)
I tried
php /etc/nginx/html/Share/ffmpeg/ffmpeg.php
in the terminal, and it also does conversion fine.libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/etc/nginx/html/Share/test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf53.24.2
Duration: 00:00:06.40, start: 0.000000, bitrate: 1321 kb/s
Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 932 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
[swscaler @ 0x72dbe0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail.jpg':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf56.40.101
Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 240x120 [SAR 20:23 DAR 40:23], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
encoder : Lavc56.60.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=3.9 Lsize=N/A time=00:00:00.04 bitrate=N/A
video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown