
Recherche avancée
Autres articles (100)
-
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (8441)
-
Passing arguments to FFMPEG using subprocess.call()
8 mai 2018, par Peter FI was working through this answer to an FFMPEG question and the command works just fine through the Windows 10 command prompt (I’ve only changed the input and output filenames) :
ffmpeg -i test.mp4 -filter:v "select='gt(scene,0.4)',showinfo" -f null - 2> test.txt
My Python 3 script gives arguments (as a list) to the
subprocess.call()
function and works fine for a number of basic FFMPEG operations, but not this one ! It seems to be failing at the finalnull - 2> test.txt
part, with the following error messages depending on how I split the arguments :[NULL @ 000001c7e556a3c0] [error] Unable to find a suitable output format for 'pipe:'
[error] pipe:: Invalid argument
[error] Unrecognized option '2> test.txt'.
[fatal] Error splitting the argument list: Option not found
[error] Unrecognized option '2>'.
[fatal] Error splitting the argument list: Option not foundHere’s the basic list of arguments I’ve been trying :
args=['C:\\Program Files\\ffmpeg\\ffmpeg.exe',
'-i',
'test.mp4',
'-filter:v "select=\'gt(scene,0.4)\',showinfo"',
'-f null',
'-',
'2>',
'test.txt']Plus various permutations combining and splitting the last few elements.
Please could somebody help me with the right syntax for running FFMPEG with these arguments through Python 3 ?
Many thanks - I just can’t see where I’m going wrong :(
-
ffmpeg crashing on my ec2 linux
19 décembre 2016, par Alex BollbachI have a node script that has the line :
execSync('ffmpeg -loglevel panic -i ${path} -acodec copy -f segment -segment_time 10 -vcodec copy -reset_timestamps 1 -map 0 ./tmp/%d.ts');
Basically, I’m splitting a given video into 10 second segments. This works on my development machine where I have ffmpeg installed :
However, when I push the code to my ec2 instance (running the linux AMI), I get this crash :
Error: Command failed: ffmpeg -loglevel panic -i ../test11.mp4 -acodec copy -f segment -segment_time 10 -vcodec copy -reset_timestamps 1 -map 0 ./tmp/%d.ts
I have checked that all the files and directories exist and are organized correctly in both cases. The only thing I’ve deduced is that the ffmpeg versions vary between machines, so :
(developement-Machine)$ ffmpeg -version
(developement-Machine)$ ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers
(ec2)$ ffmpeg -version
(ec2)$ ffmpeg version N-61041-g52a2138
Is it the case that the ffmpeg version issues are the culprit here and if so how can I get them in sync ? Locally I simply used Homebrew to install ffmpeg. On the ec2, I’ve used YUM as a package manager to install node and npm before but it isn’t trivial to install ffmpeg. I’ve tried to wget the static builds on ffmpeg sites but after un-taring them I get a directory of directories and I’m not sure how to proceed. The original ffmpeg I installed on my ec2 was here (http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-02-16.tar.gz)
Either way I am making no progress and I could spend the next 6 hours figuring out what is going on in my linux shell. So I realize this question is a bit unfocused but is the crash likely an ffmpeg version ? and if so, how can I install the local version I have of ffmpeg on my production ec2 server ?
-
ffmpeg hangs when running -i in alpine docker container cron job
14 mai 2021, par Richard Westby-NunnI'm see strange behaviour in ffmpeg not running the -i option ONLY when running as a cron job. I can run the command fine directly via the shell. The the cronjob command runs, and it even "starts" the ffmpeg "executable", but it then hangs when it gets to the -i option and arguments.


I have included a copy of a working output when run from the shell prompt to demonstrate what the output should show.


alpine : 3.13.5


docker image : alpine:latest (date : 2021-05-14)


docker run :


docker run -v s:\_docker\_alpine-test:/media/pi --name alpine -it alpine crond -f -l8


crontab script :


/media/pi/_site/pics-alpine.sh 2>&1 | tee /media/pi/_site/alpine.log


/media/pi/_site/pics-alpine.sh script :


#!/bin/ash

set -xv

echo "START"

#encode jpgs to mp4
/usr/bin/ffmpeg -i /media/pi/to-video-back/%04d.jpg /media/pi/_site/back/back-latest.mp4

echo "END"



The output of the log file is :


echo "START"
+ echo START
START

### encode jpgs to mp4
/usr/bin/ffmpeg -i /media/pi/to-video-back/%04d.jpg /media/pi/_site/back/back-latest.mp4
+ /usr/bin/ffmpeg -i '/media/pi/to-video-back/%04d.jpg' /media/pi/_site/back/back-latest.mp4
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10.2.1 (Alpine 10.2.1_git20210328) 20210328
 configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-libdav1d --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --enable-libsrt --enable-libssh --enable-libvidstab --disable-stripping --disable-static --disable-librtmp --enable-vaapi --enable-vdpau --enable-libopus --enable-vulkan --enable-libsoxr --enable-libwebp --enable-libaom --disable-debug



Script output when run directly from the shell prompt :


/media/pi/_site # ./pics-alpine.sh

echo "START"
+ echo START
START

### encode jpgs to mp4
/usr/bin/ffmpeg -i /media/pi/to-video-back/%04d.jpg /media/pi/_site/back/back-latest.mp4
+ /usr/bin/ffmpeg -i '/media/pi/to-video-back/%04d.jpg' /media/pi/_site/back/back-latest.mp4
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10.2.1 (Alpine 10.2.1_git20210328) 20210328
 configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-libdav1d --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --enable-libsrt --enable-libssh --enable-libvidstab --disable-stripping --disable-static --disable-librtmp --enable-vaapi --enable-vdpau --enable-libopus --enable-vulkan --enable-libsoxr --enable-libwebp --enable-libaom --disable-debug
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
Input #0, image2, from '/media/pi/to-video-back/%04d.jpg':
 Duration: 00:00:00.96, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1280x960, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7fd9cf099b00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fd9cf099b00] profile High, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x7fd9cf099b00] 264 - core 161 - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - 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=12 lookahead_threads=2 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 '/media/pi/_site/back/back-latest.mp4':
 Metadata:
 encoder : Lavf58.76.100
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1280x960, q=2-31, 25 fps, 12800 tbn
 Metadata:
 encoder : Lavc58.134.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 24 fps=0.0 q=-1.0 Lsize= 25kB time=00:00:00.84 bitrate= 242.1kbits/s speed=1.56x
video:24kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.565835%
[libx264 @ 0x7fd9cf099b00] frame I:2 Avg QP:17.30 size: 3693
[libx264 @ 0x7fd9cf099b00] frame P:11 Avg QP:20.46 size: 854
[libx264 @ 0x7fd9cf099b00] frame B:11 Avg QP:22.05 size: 623
[libx264 @ 0x7fd9cf099b00] consecutive B-frames: 29.2% 25.0% 12.5% 33.3%
[libx264 @ 0x7fd9cf099b00] mb I I16..4: 14.6% 83.5% 2.0%
[libx264 @ 0x7fd9cf099b00] mb P I16..4: 3.0% 2.2% 0.0% P16..4: 5.2% 0.1% 0.1% 0.0% 0.0% skip:89.3%
[libx264 @ 0x7fd9cf099b00] mb B I16..4: 0.4% 0.1% 0.0% B16..8: 6.5% 0.0% 0.0% direct: 0.1% skip:92.9% L0:35.0% L1:64.8% BI: 0.2%
[libx264 @ 0x7fd9cf099b00] 8x8 transform intra:73.3% inter:94.3%
[libx264 @ 0x7fd9cf099b00] coded y,uvDC,uvAC intra: 8.5% 12.1% 0.5% inter: 0.7% 3.3% 0.0%
[libx264 @ 0x7fd9cf099b00] i16 v,h,dc,p: 77% 15% 6% 2%
[libx264 @ 0x7fd9cf099b00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 71% 6% 20% 1% 1% 0% 1% 0% 0%
[libx264 @ 0x7fd9cf099b00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 55% 13% 24% 1% 3% 1% 1% 1% 1%
[libx264 @ 0x7fd9cf099b00] i8c dc,h,v,p: 92% 4% 4% 0%
[libx264 @ 0x7fd9cf099b00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fd9cf099b00] ref P L0: 57.6% 2.5% 30.8% 9.1%
[libx264 @ 0x7fd9cf099b00] ref B L0: 70.2% 27.6% 2.2%
[libx264 @ 0x7fd9cf099b00] ref B L1: 98.5% 1.5%
[libx264 @ 0x7fd9cf099b00] kb/s:196.96

echo "END"
+ echo END
END



As you can see from the above, when run from the shell prompt it starts ffmpeg and then processes the arguments. But when running as cron, it opens ffmpeg, but ignores, or hangs on the processing of the arguments.


Lastly, I have the following show up in ps ax when I do a check to see what is running :


58 root 0:00 /bin/ash -c /media/pi/_site/pics-alpine.sh 2>&1 | tee /media/pi/_site/alpine.log
 59 root 0:00 {pics-alpine.sh} /bin/ash /media/pi/_site/pics-alpine.sh
 60 root 0:00 tee /media/pi/_site/alpine.log
 61 root 0:00 /usr/bin/ffmpeg -i /media/pi/to-video-back/%04d.jpg /media/pi/_site/back/back-latest.mp4



Those are just sitting there as though they are waiting on input, so I suspect the ffmpeg has a bug, or my cron is not passing the arguments correctly.


Any thoughts on how to fix this ?