
Recherche avancée
Autres articles (23)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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 -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (3970)
-
FFMPEG : Loop multiple videos indefinitely
4 mai 2018, par stevendesuI’ve got an interesting setup. I have four videos which are all identical in duration, identical frame rate, and have identical PTS timestamps. I wish to stream these four videos to an RTMP server but keep them synchronized so that someone switching between the streams will not jump forward or back in time, but instead pick up right where they left off.
Here’s the command I’m currently using :
ffmpeg \
-re -stream_loop -1 -fflags +genpts -i 01.mp4 \
-re -stream_loop -1 -fflags +genpts -i 02.mp4 \
-re -stream_loop -1 -fflags +genpts -i 03.mp4 \
-re -stream_loop -1 -fflags +genpts -i 04.mp4 \
-map 0:v -map 0:a \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/01 \
-map 1:v -map 1:a \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/02 \
-map 2:v -map 2:a \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/03 \
-map 3:v -map 3:a \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/04This command properly synchronizes the streams and broadcasts all four, however the moment the video ends so does the stream. Due to the
-stream_loop -1
I would expect the video to keep looping indefinitely. This is the output tostdout
when the stream dies :[flv @ 0x2392d40] Failed to update header with correct duration.
[flv @ 0x2392d40] Failed to update header with correct filesize.
[flv @ 0x229b980] Failed to update header with correct duration.
[flv @ 0x229b980] Failed to update header with correct filesize.
[flv @ 0x22f3bc0] Failed to update header with correct duration.
[flv @ 0x22f3bc0] Failed to update header with correct filesize.
[flv @ 0x23a4240] Failed to update header with correct duration.
[flv @ 0x23a4240] Failed to update header with correct filesize.
[libx264 @ 0x25ebd00] frame I:236 Avg QP:29.17 size: 20892
[libx264 @ 0x25ebd00] frame P:5412 Avg QP:32.33 size: 1892
[libx264 @ 0x25ebd00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x25ebd00] mb P I16..4: 0.2% 0.0% 0.0% P16..4: 18.5% 0.0% 0.0% 0.0% 0.0% skip:81.3%
[libx264 @ 0x25ebd00] final ratefactor: 31.62
[libx264 @ 0x25ebd00] coded y,uvDC,uvAC intra: 68.8% 62.8% 34.6% inter: 8.8% 1.8% 0.0%
[libx264 @ 0x25ebd00] i16 v,h,dc,p: 38% 25% 19% 18%
[libx264 @ 0x25ebd00] i8c dc,h,v,p: 40% 22% 27% 11%
[libx264 @ 0x25ebd00] kb/s:515.11
[libspeex @ 0x2537580] 1 frames left in the queue on closing
[libx264 @ 0x2531d00] frame I:236 Avg QP:31.85 size: 15843
[libx264 @ 0x2531d00] frame P:5412 Avg QP:34.95 size: 2086
[libx264 @ 0x2531d00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x2531d00] mb P I16..4: 2.8% 0.0% 0.0% P16..4: 37.8% 0.0% 0.0% 0.0% 0.0% skip:59.4%
[libx264 @ 0x2531d00] final ratefactor: 32.38
[libx264 @ 0x2531d00] coded y,uvDC,uvAC intra: 48.4% 40.8% 13.5% inter: 12.1% 4.0% 0.0%
[libx264 @ 0x2531d00] i16 v,h,dc,p: 41% 21% 26% 13%
[libx264 @ 0x2531d00] i8c dc,h,v,p: 48% 20% 24% 8%
[libx264 @ 0x2531d00] kb/s:510.33
[libspeex @ 0x2533080] 1 frames left in the queue on closing
[libx264 @ 0x22da600] frame I:236 Avg QP:26.11 size: 13705
[libx264 @ 0x22da600] frame P:5412 Avg QP:29.17 size: 2185
[libx264 @ 0x22da600] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x22da600] mb P I16..4: 4.5% 0.0% 0.0% P16..4: 35.2% 0.0% 0.0% 0.0% 0.0% skip:60.3%
[libx264 @ 0x22da600] final ratefactor: 28.44
[libx264 @ 0x22da600] coded y,uvDC,uvAC intra: 37.1% 40.1% 10.4% inter: 12.3% 6.2% 0.1%
[libx264 @ 0x22da600] i16 v,h,dc,p: 40% 21% 22% 17%
[libx264 @ 0x22da600] i8c dc,h,v,p: 43% 18% 28% 11%
[libx264 @ 0x22da600] kb/s:511.43
[libspeex @ 0x22db080] 1 frames left in the queue on closing
[libx264 @ 0x22d7a00] frame I:236 Avg QP:30.31 size: 13811
[libx264 @ 0x22d7a00] frame P:5412 Avg QP:33.28 size: 2209
[libx264 @ 0x22d7a00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x22d7a00] mb P I16..4: 5.4% 0.0% 0.0% P16..4: 37.4% 0.0% 0.0% 0.0% 0.0% skip:57.2%
[libx264 @ 0x22d7a00] final ratefactor: 31.52
[libx264 @ 0x22d7a00] coded y,uvDC,uvAC intra: 37.9% 36.7% 9.5% inter: 11.4% 5.0% 0.1%
[libx264 @ 0x22d7a00] i16 v,h,dc,p: 41% 23% 21% 16%
[libx264 @ 0x22d7a00] i8c dc,h,v,p: 45% 19% 27% 9%
[libx264 @ 0x22d7a00] kb/s:516.78
[libspeex @ 0x22d8d80] 1 frames left in the queue on closingMy FFMPEG version :
$ ffmpeg -version
ffmpeg version N-90065-g8a8d0b3 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609
configuration: --prefix=/home/sbarnett/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/sbarnett/ffmpeg_build/include --extra-ldflags=-L/home/sbarnett/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/sbarnett/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libspeex --enable-nonfree
libavutil 56. 7.101 / 56. 7.101
libavcodec 58. 11.101 / 58. 11.101
libavformat 58. 9.100 / 58. 9.100
libavdevice 58. 1.100 / 58. 1.100
libavfilter 7. 12.100 / 7. 12.100
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100How do I get the video to loop indefinitely ? Why is
-stream_loop -1
not working ?Update (Edited with new error)
Following @Gyan’s advice, I attempted to use
filter_complex
with the movie filter, however I may be doing it incorrectly :ffmpeg \
-stream_loop -1 \
-re -i 01.mp4 \
-re -i 02.mp4 \
-re -i 03.mp4 \
-re -i 04.mp4 \
-filter_complex \
"movie=01.mp4:loop=0[v1];[v1]setpts=N/FRAME_RATE/TB[v1];
amovie=01.mp4:loop=0[a1];[a1]asetpts=N/SR/TB[a1];
movie=02.mp4:loop=0[v2];[v2]setpts=N/FRAME_RATE/TB[v2];
amovie=02.mp4:loop=0[a2];[a2]asetpts=N/SR/TB[a2];
movie=03.mp4:loop=0[v3];[v3]setpts=N/FRAME_RATE/TB[v3];
amovie=03.mp4:loop=0[a3];[a3]asetpts=N/SR/TB[a3];
movie=04.mp4:loop=0[v4];[v4]setpts=N/FRAME_RATE/TB[v4];
amovie=04.mp4:loop=0[a4];[a4]asetpts=N/SR/TB[a4]" \
-map "[v1]" -map "[a1]" \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/01 \
-map "[v2]" -map "[a2]" \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/02 \
-map "[v3]" -map "[a3]" \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/03 \
-map "[v4]" -map "[a4]" \
-c:a speex -ar 16000 -ac 1 \
-c:v libx264 -preset ultrafast \
-b:v 500k -b:a 32k \
-f flv rtmp://output/04This threw the following error :
[libspeex @ 0x23f4d80] nb_samples (325) != frame_size (320) (avcodec_encode_audio2)
-
Bewildering issue - FFmpeg segment filter desyncs video
14 mai 2018, par r_jeiI need to segment a large (72GB) Prores video file and merge the segments to get a file identical to the original.
./ffmpeg -i video.mov -codec copy -f segment -segment_time 300 -segment_list list.ffcat -reset_timestamps 1 -v error chunk_%d.mov
Unfortunately the segments that come from running this command get out of sync after a few seconds of playback with Quicktime Player. Interestingly, seeking, rewinding or fast forwarding appears to resync the video correctly for at least a few seconds.
The following warning appears whenever a new segment is written :
[segment @ 0x7f87ae001200] Opening 'chunk_0.mov' for writing
[mov @ 0x7f87ad807200] Valid timecode frame rate must be specified. Minimum value is 1Yet, setting the framerate with
-r 24
doesn’t help.Some potentially relevant metadata :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'A004_04121423_C001.mov':
Duration: 00:13:31.25, start: 0.000000, bitrate: 710117 kb/s
Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709, progressive), 3840x2160, 707415 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
Metadata:
creation_time : 2018-04-12T20:23:16.000000Z
handler_name : ?Apple Alias Data Handler
timecode : 14:23:16:02
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
Metadata:
creation_time : 2018-04-12T20:23:16.000000Z
handler_name : ?Apple Alias Data Handler
timecode : 14:23:16:02
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2018-04-12T20:23:16.000000Z
handler_name : ?Apple Alias Data Handler
timecode : 14:23:16:02
Output #0, segment, to 'chunk_%d.mov':
Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 707415 kb/s, 24 fps, 24 tbr, 12288 tbn, 24 tbc (default)
Metadata:
creation_time : 2018-04-12T20:23:16.000000Z
handler_name : ?Apple Alias Data Handler
timecode : 14:23:16:02
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
Metadata:
creation_time : 2018-04-12T20:23:16.000000Z
handler_name : ?Apple Alias Data Handler
timecode : 14:23:16:02
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)I’m on OS X.
Thanks so much for your time and help on this issue ! I certainly hope I’m not missing something obvious :)
UPDATE (May 10) : Comparing the original video file with the segments, I’ve found some interesting differences. Adobe Premiere reports that the original video has the following properties :
QuickTime Details:
Movie contains 1 video track(s), 1 audio track(s), 0 closed caption track(s), **and 1 timecode track(s).**
Video:
There are 19470 frames with a **duration of 1/24th.**
Video track 1:
Duration is **0:13:31:06**
Video data block #1:
Frame Size = 3840 x 2160
Compressor =
**Quality = Most (-2623.00)
Temporal = Most (1.00)**
Timecode data block #1:
Start Time = 14:23:16:02
Reel name =On the other hand, when examining the video resulting from stitching together the segments, we find the following :
QuickTime Details:
Movie contains 1 video track(s), 1 audio track(s), 0 closed caption track(s), **and 0 timecode track(s).**
Video:
There are 19470 frames with a **duration of 41/1000ths.**
Video track 1:
Duration is **0:01:06:00**
Video data block #1:
Frame Size = 3840 x 2160
Compressor =
**Quality = Normal (3.00)
Temporal = Normal (3.00)** -
youtube-dl sometime hangs with "[ffmpeg] Correcting container"
20 mai 2018, par user292344Ubuntu 16.04
/usr/local/bin/youtube-dl --version
2018.05.09I have a bash script that attemts to download a youtube video. The output is below. The problem is that sometimes it works perfectly (completes quickly).
But most of the time it hangs on "Correcting container....". Does anyone know why ?+ /usr/local/bin/youtube-dl --verbose -x 'https://www.youtube.com/watch?v=8HVWitAW-Qg'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'-x', u'https://www.youtube.com/watch?v=8HVWitAW-Qg']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.05.09
[debug] Python version 2.7.12 (CPython) - Linux-4.4.0-124-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 2.8.14-0ubuntu0.16.04.1, avprobe 2.8.14-0ubuntu0.16.04.1, ffmpeg 2.8.14-0ubuntu0.16.04.1, ffprobe 2.8.14-0ubuntu0.16.04.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] 8HVWitAW-Qg: Downloading webpage
[youtube] 8HVWitAW-Qg: Downloading video info webpage
[youtube] 8HVWitAW-Qg: Extracting video information
[debug] Invoking downloader on u'https://r5---sn-5uaeznkl.googlevideo.com/videoplayback?expire=1526159728&source=youtube&key=yt6&mime=audio%2Fmp4&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cusequic%2Cexpire&keepalive=yes&lmt=1518142590597815&dur=231.131&mv=m&mt=1526137933&ms=au%2Conr&signature=18BB34F3716B412AC5757872DD2AF402B6EE20D2.43D2E68B5A5ED2E2D3076DF9264B9BB723484821&ip=71.81.217.251&c=WEB&initcwndbps=1583750&mn=sn-5uaeznkl%2Csn-p5qs7n7l&clen=3671757&gir=yes&id=o-AOxj8Rg2IuZek8KwvgPy-N7_FSGzxQ0Zl2HX1T4gepLf&ipbits=0&fvip=5&ei=EAX3WqbOH8fg4QSlkrGoAg&pl=20&mm=31%2C26&itag=140&usequic=no&requiressl=yes&ratebypass=yes'
[download] Destination: Top 10 cute kitten videos compilation-8HVWitAW-Qg.m4a
[download] 100% of 3.50MiB in 00:00
[ffmpeg] Correcting container in "Top 10 cute kitten videos compilation-8HVWitAW-Qg.m4a"
[debug] ffmpeg command line: avconv -y -i 'file:Top 10 cute kitten videos compilation-8HVWitAW-Qg.m4a' -c copy -f mp4 'file:Top 10 cute kitten videos compilation-8HVWitAW-Qg.temp.m4a'
^C
ERROR: Interrupted by user