
Recherche avancée
Autres articles (18)
-
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...) -
L’espace de configuration de MediaSPIP
29 novembre 2010, parL’espace de configuration de MediaSPIP est réservé aux administrateurs. Un lien de menu "administrer" est généralement affiché en haut de la page [1].
Il permet de configurer finement votre site.
La navigation de cet espace de configuration est divisé en trois parties : la configuration générale du site qui permet notamment de modifier : les informations principales concernant le site (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)
Sur d’autres sites (4269)
-
Not all portions of video play well after concatenation
24 septembre 2018, par srgbndNode.JS 8.11.4, fluent-ffmpeg 2.1.2
I need to concatenate random portions of the same length of different videos in one video file. The concatenation proceeds without errors. But when I play the final concatenated file I see some portions playing well with sound, others have video "frozen" but sounds playing.
What’s the problem ? I want all portions playing well in the final concatenated file.
Concatenation config :
trex@cave:/media/trex/safe1/Development/app$ head concat_config.txt
file /media/trex/safe1/Development/app/videos/test/417912400.mp4
inpoint 145
outpoint 155
file /media/trex/safe1/Development/app/videos/test/440386842.mp4
inpoint 59
outpoint 69
file /media/trex/safe1/Development/app/videos/test/417912400.mp4
inpoint 144
outpoint 154
...In total, I have 16 portions of 2 videos. Duration of a portion is 10 sec. In the future the number of video files and portions will be much bigger.
trex@cave:/media/trex/safe1/Development/app$ ls -lh videos/test/
total 344M
-rw-r--r-- 1 trex trex 90M set 23 12:19 417912400.mp4
-rw-r--r-- 1 trex trex 254M set 23 12:19 440386842.mp4JavaScript code for the concatentaion :
const fs = require('fs');
const path = require('path');
const _ = require('lodash');
const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path;
const ffprobePath = require('@ffprobe-installer/ffprobe').path;
const ffmpeg = require('fluent-ffmpeg');
ffmpeg.setFfmpegPath(ffmpegPath);
ffmpeg.setFfprobePath(ffprobePath);
function getMetadata(absPathToFile) {
return new Promise(function (resolve, reject) {
ffmpeg.ffprobe(absPathToFile, function(err, metadata) {
if (err) {
reject('get video meta: ' + err.toString());
}
resolve(metadata);
});
});
}
async function getFormat(files) {
const pArray = files.map(async f => {
const meta = await getMetadata(f);
meta.format.short_filename = meta.format.filename.split('/').pop();
return meta.format;
});
return await Promise.all(pArray);
}
function getSliceValues(duration, max = 10) {
max = duration < max ? duration * 0.5 : max; // sec
const start = _.random(0, duration * 0.9);
const end = start + max > duration ? duration : start + max;
return `inpoint ${Math.floor(start)}\noutpoint ${Math.floor(end)}\n`;
}
function addPath(arr, aPath) {
return arr.map(e => path.join(aPath, e));
}
function createConfig(meta) {
return meta.map(video => `file ${video.filename}\n${getSliceValues(video.duration)}`).join('');
}
function duplicateMeta(meta) {
for (let i = 0; i < 3; i++) {
meta.push(...meta);
}
return _.shuffle(meta);
}
const videoFolder = path.join(__dirname, 'videos/test');
const finalVideo = 'final_video.mp4';
const configFile = 'concat_config.txt';
// main
(async () => {
let videos = addPath(fs.readdirSync(videoFolder), videoFolder);
let meta = await getFormat(videos);
meta = duplicateMeta(meta); // get multiple portions of videos
fs.writeFileSync(configFile, createConfig(meta));
const mpeg = ffmpeg();
mpeg.input(configFile)
.inputOptions(['-f concat', '-safe 0'])
.outputOptions('-c copy')
.save(finalVideo);
})();Video files formats :
{ streams:
[ { index: 0,
codec_name: 'h264',
codec_long_name: 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
profile: 'High',
codec_type: 'video',
codec_time_base: '1001/60000',
codec_tag_string: 'avc1',
codec_tag: '0x31637661',
width: 1920,
height: 1080,
coded_width: 1920,
coded_height: 1088,
has_b_frames: 2,
sample_aspect_ratio: '1:1',
display_aspect_ratio: '16:9',
pix_fmt: 'yuv420p',
level: 40,
color_range: 'tv',
color_space: 'bt709',
color_transfer: 'bt709',
color_primaries: 'bt709',
chroma_location: 'left',
field_order: 'unknown',
timecode: 'N/A',
refs: 1,
is_avc: 'true',
nal_length_size: 4,
id: 'N/A',
r_frame_rate: '30000/1001',
avg_frame_rate: '30000/1001',
time_base: '1/30000',
start_pts: 0,
start_time: 0,
duration_ts: 4936900,
duration: 164.563333,
bit_rate: 4323409,
max_bit_rate: 'N/A',
bits_per_raw_sample: 8,
nb_frames: 4932,
nb_read_frames: 'N/A',
nb_read_packets: 'N/A',
tags: [Object],
disposition: [Object] },
{ index: 1,
codec_name: 'aac',
codec_long_name: 'AAC (Advanced Audio Coding)',
profile: 'LC',
codec_type: 'audio',
codec_time_base: '1/48000',
codec_tag_string: 'mp4a',
codec_tag: '0x6134706d',
sample_fmt: 'fltp',
sample_rate: 48000,
channels: 2,
channel_layout: 'stereo',
bits_per_sample: 0,
id: 'N/A',
r_frame_rate: '0/0',
avg_frame_rate: '0/0',
time_base: '1/48000',
start_pts: 0,
start_time: 0,
duration_ts: 7899120,
duration: 164.565,
bit_rate: 256000,
max_bit_rate: 263232,
bits_per_raw_sample: 'N/A',
nb_frames: 7714,
nb_read_frames: 'N/A',
nb_read_packets: 'N/A',
tags: [Object],
disposition: [Object] } ],
format:
{ filename: '/media/trex/safe1/Development/app/videos/test/417912400.mp4',
nb_streams: 2,
nb_programs: 0,
format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
format_long_name: 'QuickTime / MOV',
start_time: 0,
duration: 164.565,
size: 94298844,
bit_rate: 4584150,
probe_score: 100,
tags:
{ major_brand: 'mp42',
minor_version: '0',
compatible_brands: 'mp42mp41isomavc1',
creation_time: '2015-09-21T19:11:21.000000Z' } },
chapters: [] }
{ streams:
[ { index: 0,
codec_name: 'h264',
codec_long_name: 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
profile: 'High',
codec_type: 'video',
codec_time_base: '1001/48000',
codec_tag_string: 'avc1',
codec_tag: '0x31637661',
width: 2560,
height: 1440,
coded_width: 2560,
coded_height: 1440,
has_b_frames: 2,
sample_aspect_ratio: '1:1',
display_aspect_ratio: '16:9',
pix_fmt: 'yuv420p',
level: 51,
color_range: 'tv',
color_space: 'bt709',
color_transfer: 'bt709',
color_primaries: 'bt709',
chroma_location: 'left',
field_order: 'unknown',
timecode: 'N/A',
refs: 1,
is_avc: 'true',
nal_length_size: 4,
id: 'N/A',
r_frame_rate: '24000/1001',
avg_frame_rate: '24000/1001',
time_base: '1/24000',
start_pts: 0,
start_time: 0,
duration_ts: 4206200,
duration: 175.258333,
bit_rate: 11891834,
max_bit_rate: 'N/A',
bits_per_raw_sample: 8,
nb_frames: 4202,
nb_read_frames: 'N/A',
nb_read_packets: 'N/A',
tags: [Object],
disposition: [Object] },
{ index: 1,
codec_name: 'aac',
codec_long_name: 'AAC (Advanced Audio Coding)',
profile: 'LC',
codec_type: 'audio',
codec_time_base: '1/48000',
codec_tag_string: 'mp4a',
codec_tag: '0x6134706d',
sample_fmt: 'fltp',
sample_rate: 48000,
channels: 2,
channel_layout: 'stereo',
bits_per_sample: 0,
id: 'N/A',
r_frame_rate: '0/0',
avg_frame_rate: '0/0',
time_base: '1/48000',
start_pts: 0,
start_time: 0,
duration_ts: 8414160,
duration: 175.295,
bit_rate: 256000,
max_bit_rate: 262152,
bits_per_raw_sample: 'N/A',
nb_frames: 8217,
nb_read_frames: 'N/A',
nb_read_packets: 'N/A',
tags: [Object],
disposition: [Object] } ],
format:
{ filename: '/media/trex/safe1/Development/app/videos/test/440386842.mp4',
nb_streams: 2,
nb_programs: 0,
format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
format_long_name: 'QuickTime / MOV',
start_time: 0,
duration: 175.295,
size: 266214940,
bit_rate: 12149345,
probe_score: 100,
tags:
{ major_brand: 'mp42',
minor_version: '0',
compatible_brands: 'mp42mp41isomavc1',
creation_time: '2015-11-15T19:30:49.000000Z' } },
chapters: [] } -
Video merging ffmpeg taking more than 15 minutes for 5mb video
27 juillet 2018, par stan wyckI am using below ffmpeg command by bravobit ffmpeg android library to merge videos with different resolution and bit rate it takes more than 15 minutes for total of 5mb videos
-i video1.mp4 -i video2.3gp -filter_complex [1:v]scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih),
pad=1920:1080:(1920-iw*min(1920/iw\,1080/ih))/2:(1080-ih*min(1920/iw\,1080/ih))/2,setsar=1[v1];
[2:v]scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih),
pad=1920:1080:(1920-iw*min(1920/iw\,1080/ih))/2:(1080-ih*min(1920/iw\,1080/ih))/2,setsar=1[v2];
[v1][1:a][v2][2:a]concat=n=2:v=1:a=1[outv][outa]
"-ab", "48000", "-ac", "2", "-ar", "22050", "-s", "1920x1080", "-vcodec", "libx264", "-crf", "27", "-q", "4", "-preset", "ultrafast", newVideoPath, "-hide_banner"Log onSuccess
ffmpeg version n4.0-39-gda39990 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.9.x (GCC) 20150123 (prerelease)
configuration : —target-os=linux —cross-prefix=/root/bravobit/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- —arch=arm —cpu=cortex-a8 —enable-runtime-cpudetect —sysroot=/root/bravobit/ffmpeg-android/toolchain-android/sysroot —enable-pic —enable-libx264 —enable-ffprobe —enable-libopus —enable-libvorbis —enable-libfdk-aac —enable-libfreetype —enable-libfribidi —enable-libmp3lame —enable-fontconfig —enable-libvpx —enable-libass —enable-yasm —enable-pthreads —disable-debug —enable-version3 —enable-hardcoded-tables —disable-ffplay —disable-linux-perf —disable-doc —disable-shared —enable-static —enable-runtime-cpudetect —enable-nonfree —enable-network —enable-avresample —enable-avformat —enable-avcodec —enable-indev=lavfi —enable-hwaccels —enable-ffmpeg —enable-zlib —enable-gpl —enable-small —enable-nonfree —pkg-config=pkg-config —pkg-config-flags=—static —prefix=/root/bravobit/ffmpeg-android/build/armeabi-v7a —extra-cflags=’-I/root/bravobit/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all’ —extra-ldflags=’-L/root/bravobit/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie’ —extra-cxxflags=
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, lavfi, from ’anullsrc=channel_layout=stereo:sample_rate=44100’ :
Duration : N/A, start : 0.000000, bitrate : 705 kb/s
Stream #0:0 : Audio : pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from ’/sdcard/DigitalDashboard/temp/10.57.08.mp4’ :
Metadata :
major_brand : isom
minor_version : 512
compatible_brands : isomiso2avc1mp41
encoder : Lavf58.12.100
Duration : 00:00:15.00, start : 0.000000, bitrate : 1495 kb/s
Stream #1:0(und) : Video : h264 (avc1 / 0x31637661), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 1337 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata :
handler_name : VideoHandler
Stream #1:1(und) : Audio : aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 153 kb/s (default)
Metadata :
handler_name : SoundHandler
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from ’/sdcard/DigitalDashboard/temp/10.57.19.mp4’ :
Metadata :
major_brand : isom
minor_version : 512
compatible_brands : isomiso2avc1mp41
encoder : Lavf58.12.100
Duration : 00:00:10.03, start : 0.000000, bitrate : 1823 kb/s
Stream #2:0(und) : Video : h264 (avc1 / 0x31637661), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 1671 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata :
handler_name : VideoHandler
Stream #2:1(und) : Audio : aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 152 kb/s (default)
Metadata :
handler_name : SoundHandler
Stream mapping :
Stream #1:0 (h264) -> scale
Stream #1:1 (aac) -> concat:in0:a0
Stream #2:0 (h264) -> scale
Stream #2:1 (aac) -> concat:in1:a0
concat:out:v0 -> Stream #0:0 (libx264)
concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0xb8b42e90] -qscale is ignored, -crf is recommended.
[libx264 @ 0xb8b42e90] using SAR=1/1
[libx264 @ 0xb8b42e90] using cpu capabilities : ARMv6 NEON
[libx264 @ 0xb8b42e90] profile Constrained Baseline, level 3.1
[libx264 @ 0xb8b42e90] 264 - core 152 r2851M ba24899 - 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=6 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=0 intra_refresh=0 rc=crf mbtree=0 crf=27.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to ’/sdcard/DigitalDashboard/temp/10.57.25.mp4’ :
Metadata :
encoder : Lavf58.12.100
Stream #0:0 : Video : h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1024x576 [SAR 1:1 DAR 16:9], q=-1—1, 25 fps, 12800 tbn, 25 tbc (default)
Metadata :
encoder : Lavc58.18.100 libx264
Side data :
cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1
Stream #0:1 : Audio : aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 48 kb/s (default)
Metadata :
encoder : Lavc58.18.100 aac
frame= 7 fps=0.0 q=0.0 size= 0kB time=00:00:00.37 bitrate= 1.0kbits/s speed=0.737x
frame= 21 fps= 21 q=27.0 size= 0kB time=00:00:00.88 bitrate= 0.4kbits/s speed=0.879x
frame= 35 fps= 23 q=26.0 size= 256kB time=00:00:01.48 bitrate=1411.5kbits/s speed=0.979x
frame= 50 fps= 25 q=27.0 size= 256kB time=00:00:02.04 bitrate=1026.5kbits/s speed=1.01x
frame= 64 fps= 25 q=26.0 size= 512kB time=00:00:02.60 bitrate=1612.9kbits/s speed=1.02x
frame= 79 fps= 26 q=25.0 size= 768kB time=00:00:03.20 bitrate=1963.5kbits/s speed=1.05x
frame= 95 fps= 26 q=22.0 size= 768kB time=00:00:03.85 bitrate=1632.3kbits/s speed=1.07x
frame= 110 fps= 27 q=24.0 size= 1024kB time=00:00:04.45 bitrate=1881.7kbits/s speed=1.08x
frame= 126 fps= 27 q=23.0 size= 1024kB time=00:00:05.10 bitrate=1642.2kbits/s speed= 1.1x
frame= 142 fps= 27 q=24.0 size= 1280kB time=00:00:05.75 bitrate=1821.0kbits/s speed=1.11x
frame= 157 fps= 28 q=23.0 size= 1280kB time=00:00:06.31 bitrate=1660.3kbits/s speed=1.11x
frame= 173 fps= 28 q=25.0 size= 1536kB time=00:00:06.96 bitrate=1806.4kbits/s speed=1.12x
frame= 189 fps= 28 q=26.0 size= 1536kB time=00:00:07.61 bitrate=1652.2kbits/s speed=1.13x
frame= 204 fps= 28 q=25.0 size= 1792kB time=00:00:08.21 bitrate=1786.0kbits/s speed=1.14x
frame= 220 fps= 28 q=19.0 size= 1792kB time=00:00:08.87 bitrate=1655.1kbits/s speed=1.15x
frame= 238 fps= 29 q=18.0 size= 2048kB time=00:00:09.56 bitrate=1753.8kbits/s speed=1.16x
frame= 254 fps= 29 q=26.0 size= 2048kB time=00:00:10.26 bitrate=1634.7kbits/s speed=1.17x
frame= 271 fps= 29 q=22.0 size= 2048kB time=00:00:10.91 bitrate=1537.3kbits/s speed=1.18x
frame= 288 fps= 30 q=21.0 size= 2048kB time=00:00:11.56 bitrate=1450.9kbits/s speed=1.19x
frame= 305 fps= 30 q=19.0 size= 2304kB time=00:00:12.26 bitrate=1539.5kbits/s speed=1.19x
frame= 320 fps= 30 q=21.0 size= 2304kB time=00:00:12.86 bitrate=1467.3kbits/s speed=1.19x
frame= 337 fps= 30 q=22.0 size= 2304kB time=00:00:13.51 bitrate=1396.7kbits/s speed=1.19x
frame= 354 fps= 30 q=22.0 size= 2304kB time=00:00:14.21 bitrate=1328.2kbits/s speed= 1.2x
frame= 371 fps= 30 q=20.0 size= 2560kB time=00:00:14.90 bitrate=1406.8kbits/s speed=1.21x
frame= 387 fps= 30 q=25.0 size= 2560kB time=00:00:15.51 bitrate=1352.1kbits/s speed=1.21x
frame= 402 fps= 30 q=27.0 size= 2816kB time=00:00:16.11 bitrate=1431.6kbits/s speed= 1.2x
frame= 416 fps= 30 q=27.0 size= 2816kB time=00:00:16.67 bitrate=1383.7kbits/s speed= 1.2x
frame= 430 fps= 30 q=27.0 size= 3072kB time=00:00:17.27 bitrate=1456.7kbits/s speed= 1.2x
frame= 444 fps= 30 q=26.0 size= 3072kB time=00:00:17.83 bitrate=1411.2kbits/s speed=1.19x
frame= 460 fps= 30 q=25.0 size= 3328kB time=00:00:18.43 bitrate=1478.8kbits/s speed=1.19x
frame= 476 fps= 30 q=21.0 size= 3584kB time=00:00:19.08 bitrate=1538.3kbits/s speed=1.19x
frame= 493 fps= 30 q=23.0 size= 3584kB time=00:00:19.78 bitrate=1484.1kbits/s speed= 1.2x
frame= 511 fps= 30 q=24.0 size= 3840kB time=00:00:20.48 bitrate=1536.0kbits/s speed= 1.2x
frame= 527 fps= 30 q=23.0 size= 4096kB time=00:00:21.13 bitrate=1588.0kbits/s speed= 1.2x
frame= 542 fps= 30 q=25.0 size= 4096kB time=00:00:21.78 bitrate=1540.6kbits/s speed=1.21x
frame= 558 fps= 30 q=25.0 size= 4352kB time=00:00:22.38 bitrate=1592.7kbits/s speed=1.21x
frame= 574 fps= 30 q=25.0 size= 4352kB time=00:00:22.98 bitrate=1550.9kbits/s speed=1.21x
frame= 590 fps= 30 q=24.0 size= 4608kB time=00:00:23.63 bitrate=1597.0kbits/s speed=1.21x
frame= 607 fps= 30 q=17.0 size= 4608kB time=00:00:24.38 bitrate=1548.3kbits/s speed=1.21x
frame= 622 fps= 30 q=19.0 size= 4608kB time=00:00:24.93 bitrate=1513.7kbits/s speed=1.21x
frame= 625 fps= 30 q=-1.0 Lsize= 4827kB time=00:00:25.03 bitrate=1579.9kbits/s speed=1.21x
video:4345kB audio:470kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 0.251744%
[libx264 @ 0xb8b42e90] frame I:3 Avg QP:20.33 size : 86455
[libx264 @ 0xb8b42e90] frame P:622 Avg QP:23.46 size : 6736
[libx264 @ 0xb8b42e90] mb I I16..4 : 100.0% 0.0% 0.0%
[libx264 @ 0xb8b42e90] mb P I16..4 : 1.8% 0.0% 0.0% P16..4 : 37.9% 0.0% 0.0% 0.0% 0.0% skip:60.3%
[libx264 @ 0xb8b42e90] coded y,uvDC,uvAC intra : 41.0% 51.8% 22.0% inter : 15.3% 10.0% 0.8%
[libx264 @ 0xb8b42e90] i16 v,h,dc,p : 29% 27% 24% 20%
[libx264 @ 0xb8b42e90] i8c dc,h,v,p : 42% 23% 22% 14%
[libx264 @ 0xb8b42e90] kb/s:1423.72
[aac @ 0xb8b81070] Qavg : 472.000 -
Using ffmpeg, frame between animation loop
19 juillet 2018, par Celil Şahinagain me :)
I could not reach the end result. waiting for help for a different problem.4 sec normal and 3 sec animation, until the end of the video.
animation : random (left-right-top-bottom) 1.5 sec and 1.5 sec orjinal position overlay 0. Total 3 sec and 4 sec normal, again random position.
if random it is not, Fixed value.Plss @Gyan, I really need.