
Recherche avancée
Autres articles (43)
-
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 (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (6527)
-
Creating automated ffmpeg converter
27 janvier 2019, par Jeffrey MoserI am trying to create an automated process using ffmpeg and am having issues understanding how to adapt the code to automator.
The code works beautifully in the terminal, but requires each filename to me entered manually. I am trying to automate the process.
for f in "$@"
do
FILE= "$f"
OUT=${FILE/mp4/png}
OUT_WIDTH=10800
OUT_HEIGHT=3600
eval $(ffprobe -v error -of flat=s=_ -select_streams v:0 -show_entries stream=height,width "${FILE}")
IN_WIDTH=${streams_stream_0_width}
IN_HEIGHT=${streams_stream_0_height}
eval $(ffprobe -v error -of flat=s=_ -count_frames -select_streams v:0 -show_entries stream=nb_read_frames "${FILE}")
IN_FRAMES=${streams_stream_0_nb_read_frames}
W_TILES=$(bc <<< "(sqrt($OUT_WIDTH*$IN_FRAMES*$IN_HEIGHT/($IN_WIDTH*$OUT_HEIGHT))+3)")
H_TILES=$(bc <<< "(sqrt($OUT_HEIGHT*$IN_FRAMES*$IN_WIDTH/($OUT_WIDTH*$IN_HEIGHT)))")
W_SHRUNK=$(bc <<< "$OUT_WIDTH/$W_TILES")
H_SHRUNK=$(bc <<< "$OUT_HEIGHT/$H_TILES")
ffmpeg -i "${FILE}" -vf "hflip,transpose=cclock,scale=${H_SHRUNK}:${W_SHRUNK},tile=${H_TILES}x${W_TILES},transpose=clock,hflip,scale=${OUT_WIDTH}x${OUT_HEIGHT}" -an -sn -vsync 0 "${OUT}"
doneI expected the code to produce an image of every frame of the film. But instead I got a massive error message.
The action “Run Shell Script” encountered an error: “-: line 5: /Users/jeffreymoser/21 A New Dawn.mp4: Permission denied
-: line 14: ffprobe: command not found
-: line 18: ffprobe: command not found
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 2: parse error
(standard_in) 2: parse error
-: line 29: ffmpeg: command not found
-: line 5: /Users/jeffreymoser/22 Battle Hymn.mp4: Permission denied
-: line 14: ffprobe: command not found
-: line 18: ffprobe: command not found
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 2: parse error
(standard_in) 2: parse error
-: line 29: ffmpeg: command not found
-: line 5: /Users/jeffreymoser/23 Reckless.mp4: Permission denied
-: line 14: ffprobe: command not found
-: line 18: ffprobe: command not found
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 2: parse error
(standard_in) 2: parse error
-: line 29: ffmpeg: command not found
-: line 5: /Users/jeffreymoser/24 Showdown.mp4: Permission denied
-: line 14: ffprobe: command not found
-: line 18: ffprobe: command not found
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 2: parse error
(standard_in) 2: parse error
-: line 29: ffmpeg: command not found
-: line 5: /Users/jeffreymoser/25 Wedding Bells.mp4: Permission denied
-: line 14: ffprobe: command not found
-: line 18: ffprobe: command not found
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 2: parse error
(standard_in) 2: parse error
-: line 29: ffmpeg: command not found -
gstreamer receive and reassamble h.264 video over udp
8 mai 2019, par Ragnar HarðarsonI’m trying to capture a video stream from a Tello drone with
gstreamer
I’ve tried with a
gstreamer
pipeline ofgst-launch-1.0 -v udpsrc buffer-size=622080 skip-first-bytes=2 port=6038 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RAW,width=(string)960, height=(string)720, payload=(int)96, a-framerate=25" \
! queue \
! rtpvrawdepay \
! autovideosinkBut this outputs (with
export GST_DEBUG=*:3
)WARNING: from element /GstPipeline:pipeline0/GstRtpVRawDepay:rtpvrawdepay0: Could not decode stream.
Additional debug info:
gstrtpbasedepayload.c(506): GstFlowReturn gst_rtp_base_depayload_handle_buffer(GstRTPBaseDepayload *, GstRTPBaseDepayloadClass *, GstBuffer *) (): /GstPipeline:pipeline0/GstRtpVRawDepay:rtpvrawdepay0:Information about the stream can be seen here : https://github.com/m6c7l/dji-ryze-tello/tree/master/example/video
The video can be piped into
ffmpeg
with the following commandffmpeg -i - -f image2pipe -pix_fmt rgb24 -vcodec rawvideo -
I’m missing a
gstreamer
pipeline that can piece these NALs together into a h264 frame.Update : output with
playbin
I tried running the command with
export GST_DEBUG=*:3
and I’m getting the following output repeatedly :gst-launch-1.0 -v playbin uri=udp://0.0.0.0:6038
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = udp://0.0.0.0:6038
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstUDPSrc\)\ source"
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream
0:01:19.923679000 3202 0x7f9639857320 WARN h264parse gsth264parse.c:1351:gst_h264_parse_handle_frame:<h264parse0> broken/invalid nal Type: 1 Slice, Size: 16113 will be dropped
0:01:19.924320000 3202 0x7f9639857320 WARN h264parse gsth264parse.c:1351:gst_h264_parse_handle_frame:<h264parse0> broken/invalid nal Type: 1 Slice, Size: 17237 will be dropped
0:01:19.925063000 3202 0x7f9639857320 WARN codecparsers_h264 gsth264parser.c:2039:gst_h264_parse_pps: failed to read SE
0:01:19.925075000 3202 0x7f9639857320 WARN codecparsers_h264 gsth264parser.c:2046:gst_h264_parse_pps: error parsing "Picture parameter set"
0:01:19.925081000 3202 0x7f9639857320 WARN h264parse gsth264parse.c:882:gst_h264_parse_process_nal:<h264parse0> failed to parse PPS:
0:01:19.925089000 3202 0x7f9639857320 WARN h264parse gsth264parse.c:1351:gst_h264_parse_handle_frame:<h264parse0> broken/invalid nal Type: 8 PPS, Size: 5 will be dropped
0:01:19.925106000 3202 0x7f9639857320 WARN codecparsers_h264 gsth264parser.c:2039:gst_h264_parse_pps: failed to read SE
</h264parse0></h264parse0></h264parse0></h264parse0>I’ll try playing around with the options and report back.
-
lavf/vf_vpp_qsv : add support for QSV transpose filter
10 juillet 2019, par Linjie Fulavf/vf_vpp_qsv : add support for QSV transpose filter
Add transpose support for qsv_vpp with rotate and hflip :
- rotate : [0, 3] support clockwise rotation of 0, 90, 180, 270 ;
- hflip : [0, 1] support horizontal flip ;Configure with :
"cclock_hflip","clock","cclock","clock_hflip","reversal","hflip","vflip"CMD :
ffmpeg -hwaccel qsv -c:v h264_qsv -i input.h264
-vf 'format=qsv,vpp_qsv=transpose=clock' -c:v h264_qsv output.h264ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -c:v h264_qsv -i input.h264
-vf 'hwupload=extra_hw_frames=64,format=qsv,vpp_qsv=transpose=cclock_hflip'
-f rawvideo -pix_fmt nv12 ./transpose.yuvSigned-off-by : Linjie Fu <linjie.fu@intel.com>
Signed-off-by : Zhong Li <zhong.li@intel.com>