
Recherche avancée
Autres articles (83)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (7651)
-
FFMPEG-jpg sequence to H.264 generate best result
18 octobre 2015, par ZikiI have a jpg sequence which I need to convert to mp4, and I need to get the best result.
As I understood, I need to supply the ’ffmpeg’ cmdln the following : bitrate, minrate, maxrate and bufsize.
The only thing that I found about calculating the above params, is if I have the final output file size. But considering I want the best quality, I don’t know the final output file size, and I don’t care what it will be.
Of course I have the framerate and the total frames.
Here’s my ffmpeg cmdln :
ffmpeg
-r 24
-start_number 0
-i "C:\pathToSequence\%06d.jpg"
-c copy
-vframes 792
-threads 16
-pix_fmt yuv420p
-c:v libx264
"C:\pathToOutput\result.mp4"The total size of the sequence is 128MB, 792 frames, 24 framerate, resolution 1280x720.
Until now I used to add the following to the ffmpeg cmdln :
-b:v 10000k -minrate 10000k -maxrate 10000k -bufsize 10000k
And if it was 1080p :
-b:v 20000k -minrate 20000k -maxrate 20000k -bufsize 20000k
And I figured that if I put the max value that ffmpeg can handle (2147480) it will generate almost the same result as the above. But I think it’s a bad approach(correct me if I’m wrong).
So if I need to get the best result, how do I calculate it(or I can simply put the max value) ?
Also I would like if you have another helpful flags to add to make the best final result.
—EDIT—
Here’s the updated command :
O:\tools\ffmpeg -framerate 24 -start_number 0 -i "C:\share\localProcess\test\%05d.jpg" -vframes 54 -pix_fmt yuv420p -c:v libx264 -preset veryslow -qp 1 "C:\share\localProcess\result\result.mp4"
And this is the ouptout :
ffmpeg version N-72383-g7206b94 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 26.100 / 54. 26.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 33.101 / 56. 33.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, image2, from 'C:\share\localProcess\test\%05d.jpg':
Duration: 00:00:02.25, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 72:72 DAR 16:9], 24 fps, 24 tbr, 24 tbn, 24 tbc
[swscaler @ 0000000004d6bf60] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0000000004d7a9e0] using SAR=1/1
[libx264 @ 0000000004d7a9e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0000000004d7a9e0] profile High, level 5.0
[libx264 @ 0000000004d7a9e0] 264 - core 146 r2538 121396c - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=9 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=1 ip_ratio=1.40 pb_ratio=1.30 aq=0
Output #0, mp4, to 'C:\share\localProcess\result\result.mp4':
Metadata:
encoder : Lavf56.33.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 24 fps, 12288 tbn, 24 tbc
Metadata:
encoder : Lavc56.41.100 libx264
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 54 fps= 38 q=-1.0 Lsize= 542kB time=00:00:02.16 bitrate=2050.0kbits/s
video:541kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.251171%
[libx264 @ 0000000004d7a9e0] frame I:1 Avg QP: 0.00 size: 23629
[libx264 @ 0000000004d7a9e0] frame P:22 Avg QP: 1.00 size: 16146
[libx264 @ 0000000004d7a9e0] frame B:31 Avg QP: 2.81 size: 5623
[libx264 @ 0000000004d7a9e0] consecutive B-frames: 16.7% 29.6% 16.7% 0.0% 9.3% 0.0% 13.0% 14.8% 0.0%
[libx264 @ 0000000004d7a9e0] mb I I16..4: 74.9% 20.2% 4.9%
[libx264 @ 0000000004d7a9e0] mb P I16..4: 0.3% 0.1% 1.2% P16..4: 2.7% 0.4% 0.8% 0.2% 0.1% skip:94.2%
[libx264 @ 0000000004d7a9e0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 3.0% 0.4% 0.5% direct: 0.3% skip:95.7% L0:56.0% L1:40.5% BI: 3.5%
[libx264 @ 0000000004d7a9e0] 8x8 transform intra:16.5% inter:18.4%
[libx264 @ 0000000004d7a9e0] direct mvs spatial:54.8% temporal:45.2%
[libx264 @ 0000000004d7a9e0] coded y,uvDC,uvAC intra: 33.9% 49.8% 49.5% inter: 1.3% 2.9% 2.9%
[libx264 @ 0000000004d7a9e0] i16 v,h,dc,p: 79% 13% 4% 4%
[libx264 @ 0000000004d7a9e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 22% 48% 2% 4% 6% 3% 1% 2%
[libx264 @ 0000000004d7a9e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 13% 43% 5% 6% 4% 5% 5% 6%
[libx264 @ 0000000004d7a9e0] i8c dc,h,v,p: 78% 12% 7% 3%
[libx264 @ 0000000004d7a9e0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000000004d7a9e0] ref P L0: 65.7% 2.4% 8.9% 4.5% 2.3% 3.0% 2.8% 3.9% 3.5% 0.8% 0.3% 0.5% 0.3% 0.5% 0.2% 0.3%
[libx264 @ 0000000004d7a9e0] ref B L0: 76.9% 12.0% 3.4% 0.7% 3.6% 0.5% 2.1% 0.4% 0.1% 0.0% 0.1% 0.0% 0.1% 0.1%
[libx264 @ 0000000004d7a9e0] ref B L1: 98.2% 1.8%
[libx264 @ 0000000004d7a9e0] kb/s:1966.80 -
FFmpeg : concat protocol gives corrupt output and skips few frames
11 décembre 2018, par Prashant_SarinUsing :
var command = "-y -i concat:$concatString -c copy -bsf:a aac_adtstoasc $outputFile"
output video skips few frames in between and jumps from 4th second to 6th sec
If i use :
var command = "-y -i concat:$concatString -c:v libx264 -preset ultrafast -crf 30 $outputFile"
Then, the output is fine but it is taking too much time with the warning of
[mp4 @ 0xf7228600] Non-monotonous DTS in output stream 0:1
The logs are as :
2018-12-11 13:27:19.146 7435-7435/com.onedayapp.mystory.dev D/com.onedayapp.mystory.oneday.controllers.service.VideoCompositionService: onProgress ----Merge---- [mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 705608, current: 210096; changing to 705609. This may result in incorrect timestamps in the output file.
2018-12-11 13:27:19.146 7435-7435/com.onedayapp.mystory.dev D/com.onedayapp.mystory.oneday.controllers.service.VideoCompositionService: onProgress ----Merge---- frame= 745 fps=0.0 q=-1.0 Lsize= 1823kB time=00:03:04.84 bitrate= 80.8kbits/s speed= 758x
2018-12-11 13:27:19.147 7435-7435/com.onedayapp.mystory.dev D/com.onedayapp.mystory.oneday.controllers.service.VideoCompositionService: onProgress ----Merge---- video:1781kB audio:32kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.563412%
2018-12-11 13:27:19.148 7435-7435/com.onedayapp.mystory.dev D/com.onedayapp.mystory.oneday.controllers.service.VideoCompositionService: Merged successfully message---------ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (GCC) configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xf4524600] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from '/storage/emulated/0/OneDay/Member/128/Video/Story/94071beb-0b5f-4588-b388-ff78d24c07a8/concatVideo.txt':
Duration: N/A, start: 0.000000, bitrate: 695 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 693 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s
Metadata:
handler_name : SoundHandler
Output #0, mp4, to '/storage/emulated/0/OneDay/Member/128/Video/Story/94071beb-0b5f-4588-b388-ff78d24c07a8/Final.mp4':
Metadata:
encoder : Lavf57.25.100
Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 693 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 2 kb/s
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xf4524600] Auto-inserting h264_mp4toannexb bitstream filter
[mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 132096, current: 24152; changing to 132097. This may result in incorrect timestamps in the output file.
[mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 132097, current: 25176; changing to 132098. This may result in incorrect timestamps in the output file.
[mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 132098, current: 26200; changing to 132099. This may result in incorrect timestamps in the output file.
[mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 132099, current: 27224; changing to 132100. This may result in incorrect timestamps in the output file.
[mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 132100, current: 28248; changing to 132101. This may result in incorrect timestamps in the output file.
[mp4 @ 0xf4524c00] Non-monotonous DTS in output stream 0:1; previous: 132101, current: 29272; changing to 132102. This may result in incorrect timestamps in the output file.Last few lines are onSuccess() message of when i run with concat Demuxer.
All files are *.mp4 files. -
Restreaming hls stream to rtmp stream using ffmpeg
7 décembre 2018, par dhruv shahI am trying to re-stream an hls stream to rtmp stream using ffmpeg :
as example :
ffmpeg -loglevel debug -re -i "https://hddn01.skylinewebcams.com/live.m3u8?a=c6kekc4h116t1m5jbtei273bq0" -bufsize 4000k -preset ultrafast -vcodec libx264 -tune zerolatency -b:v 900k -an -f flv rtmp://127.0.0.1/live/stream.flv
The stream is available on the website :
https://www.skylinewebcams.com/en/webcam/malta/malta/traffic/traffic-cam2.htmlThe issue is that input
fps
value is very low andq
value is very high or -1 most of the times.Please take a look at the following log :
ffmpeg version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --prefix=/usr --extra-version='1~16.04.york0.2' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avi
synth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --e
nable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --e
nable-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
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
[hls,applehttp @ 0x5649bd7463e0] Opening 'https://hddn01.skylinewebcams.com/03042101ANC5-1544185331502.ts' for reading
[hls,applehttp @ 0x5649bd7463e0] Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, hls,applehttp, from 'https://hddn01.skylinewebcams.com/live.m3u8?a=c6kekc4h116t1m5jbtei273bq0':
Duration: N/A, start: 22431.033000, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x1024, 12 fps, 12 tbr, 90k tbn, 180k tbc
Metadata:
variant_bitrate : 0
Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp
Metadata:
variant_bitrate : 0
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x5649bdc1ba80] VBV maxrate unspecified, assuming CBR
[libx264 @ 0x5649bdc1ba80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5649bdc1ba80] profile Constrained Baseline, level 3.2
[libx264 @ 0x5649bdc1ba80] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=12 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=cbr mbtree=0 bitrate=900 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=900 vbv_bufsize=4000 nal_hrd=none filler=0 ip_ratio=1.40 aq=0
Output #0, flv, to 'rtmp://127.0.0.1/live/dhruv.flv':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x1024, q=-1--1, 900 kb/s, 12 fps, 1k tbn, 12 tbc
Metadata:
variant_bitrate : 0
encoder : Lavc57.107.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/900000 buffer size: 4000000 vbv_delay: -1
[hls,applehttp @ 0x5649bd7463e0] Opening 'https://hddn01.skylinewebcams.com/03042101ANC5-1544185339480.ts' for reading
[hls,applehttp @ 0x5649bd7463e0] Opening 'https://hddn01.skylinewebcams.com/03042101ANC5-1544185347525.ts' for reading
[hls,applehttp @ 0x5649bd7463e0] Opening 'https://hddn01.skylinewebcams.com/03042101ANC5-1544185355483.ts' for reading
[hls,applehttp @ 0x5649bd7463e0] Opening 'https://hddn01.skylinewebcams.com/03042101ANC5-1544185363466.ts' for reading
[hls,applehttp @ 0x5649bd7463e0] Opening 'https://hddn01.skylinewebcams.com/03042101ANC5-1544185371496.ts' for reading
[flv @ 0x5649bdc1aae0] Failed to update header with correct duration.939.0kbits/s speed=0.991x
[flv @ 0x5649bdc1aae0] Failed to update header with correct filesize.
frame= 552 fps= 12 q=33.0 Lsize= 5261kB time=00:00:45.91 bitrate= 938.6kbits/s speed=0.992xDoes anyone know how to stream in real-time ?