
Recherche avancée
Autres articles (40)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (9910)
-
Video from images to mp4 in nvidia GPU
16 août 2019, par M.yI am trying to encode a h264 .mp4 video created from .jpg images using a 1070ti nvidia cuda power, having a a crossfade transition between each image.
I am able to render the video in GPU using the flags -c:v h264_nvenc, I see a short peak in the GPU encoding, but with a long period of computer CPU hight load, I guess preparing the transitioning images. But the image preparation it happens on cpu/ram due the -filter_complex and is quite slow.
This works :ffmpeg.exe, -y, -loop, 1, -t, 2.5, -i, 1565957420594_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565957453659_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565957487743_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565957525280_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565957587308_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565957644898_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565957859119_labeled.jpg, -loop, 1, -t, 2.5, -i,1565959133561_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565959412948_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565959501884_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565959755432_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565959882380_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565960023185_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565960157174_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565960683303_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565961151548_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565961230278_labeled.jpg, -loop, 1, -t, 2.5, -i, 1565961671766_labeled.jpg, -loop, 1, -t, 2.5, -i, final.jpg, -loop, 1, -t, 2.5, -i, final.jpg, -c:v, h264_nvenc, -preset, fast, -filter_complex, [1]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+0.5/TB[f0];[2]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+1.0/TB[f1];[3]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+1.5/TB[f2];[4]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+2.0/TB[f3];[5]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+2.5/TB[f4];[6]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+3.0/TB[f5];[7]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+3.5/TB[f6];[8]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+4.0/TB[f7];[9]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+4.5/TB[f8];[10]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+5.0/TB[f9];[11]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+5.5/TB[f10];[12]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+6.0/TB[f11];[13]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+6.5/TB[f12];[14]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+7.0/TB[f13];[15]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+7.5/TB[f14];[16]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+8.0/TB[f15];[17]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+8.5/TB[f16];[18]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+9.0/TB[f17];[19]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+9.5/TB[f18];[0][f0]overlay[bg1];[bg1][f1]overlay[bg2];[bg2][f2]overlay[bg3];[bg3][f3]overlay[bg4];[bg4][f4]overlay[bg5];[bg5][f5]overlay[bg6];[bg6][f6]overlay[bg7];[bg7][f7]overlay[bg8];[bg8][f8]overlay[bg9];[bg9][f9]overlay[bg10];[bg10][f10]overlay[bg11];[bg11][f11]overlay[bg12];[bg12][f12]overlay[bg13];[bg13][f13]overlay[bg14];[bg14][f14]overlay[bg15];[bg15][f15]overlay[bg16];[bg16][f16]overlay[bg17];[bg17][f17]overlay[bg18];[bg18][f18]overlay[v], -map, [v], -movflags, +faststart, output.mp4
I am trying to do all work in the GPU, theoretically I can encode all images in GPU memory using in each -i the flags "-hwaccel cuvid -c:v mjpeg_cuvid" I receive the following error :
[mjpeg_cuvid @ 00000000024ef980] ignoring invalid SAR: 0/0
Impossible to convert between the formats supported by the filter 'graph 0 input from stream 1:0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0Is there a way to load images in the GPU with the "fade" flag applied ?
Thanks in advance !
-
FFMPEG tee muxer giving "Output file #0 does not contain any stream"
31 août 2020, par Giorgi AptsiauriI am trying to create two streams : one is mpegts UDP stream another - rtmp to Twitch servers.


This command works :


ffmpeg -threads:v 2 -threads:a 16 -filter_threads 2 -thread_queue_size 16 -y \
 -f dshow -video_size 1920x1080 -pixel_format uyvy422 -framerate 25 -rtbufsize 500M -i video="Decklink Video Capture" \
 -f dshow -rtbufsize 100M -i audio="Decklink Audio Capture" \
 -preset ultrafast -c:v libx264 -tune zerolatency -b:v 900k -map 0:v:0 -f mpegts udp://127.0.0.1:5555 \ 
 -pix_fmt yuv420p -c:v libx264 -crf 20 -tune zerolatency -f flv rtmp://live-fra05.twitch.tv/app/stream_key



But it requires double the encoding CPU power.


So, following this, I rewrote the command like this :


ffmpeg -threads:v 2 -threads:a 16 -filter_threads 2 -thread_queue_size 16 -y \
 -f dshow -video_size 1920x1080 -pixel_format uyvy422 -framerate 25 -rtbufsize 500M -i video="Decklink Video Capture" \
 -f dshow -rtbufsize 100M -i audio="Decklink Audio Capture" \
 -preset ultrafast -c:v libx264 -tune zerolatency -b:v 900k \
 -f tee "[select=\'0:v:0\':f=mpegts]udp://127.0.0.1:5555|[select=\'0:v:0,1:a:0\':f=flv]rtmp://live-fra05.twitch.tv/app/stream_key"



By writing
-f tee "[select=\'0:v:0\':f=mpegts]udp://127.0.0.1:5555|[select=\'0:v:0,1:a:0\':f=flv]rtmp://live-fra05.twitch.tv/app/stream_key"
, I mean :

- 

- create UDP stream at udp ://127.0.0.1:5555 and only include video stream from "Decklink Video Capture"
- create RTMP stream where we include the same video stream as above and also the audio stream from "Decklink Audio Capture"






I get the error message :


Output file #0 does not contain any stream



How do I fix this ? I assume I made a mistake in the command.


-
lavc/h263dsp : R-V V {h,v}_loop_filter
19 mai 2024, par Rémi Denis-Courmontlavc/h263dsp : R-V V h,v_loop_filter
Since the horizontal and vertical filters are identical except for a
transposition, this uses a common subprocedure with an ad-hoc ABI.
To preserve return-address stack prediction, a link register has to be
used (c.f. the "Control Transfer Instructions" from the
RISC-V ISA Manual). The alternate/temporary link register T0 is used
here, so that the normal RA is preserved (something Arm cannot do !).To load the strength value based on `qscale`, the shortest possible
and PIC-compatible sequence is used : AUIPC ; ADD ; LBU. The classic
LLA ; ADD ; LBU sequence would add one more instruction since LLA is a
convenience alias for AUIPC ; ADDI. To ensure that this trick works,
relocation relaxation is disabled.To implement the two signed divisions by a power of two toward zero :
(x / (1 << SHIFT))
the code relies on the small range of integers involved, computing :
(x + (x >> (16 - SHIFT))) >> SHIFT
rather than the more general :
(x + ((x >> (16 - 1)) & ((1 << SHIFT) - 1))) >> SHIFT
Thus one ANDI instruction is avoided.T-Head C908 :
h263dsp.h_loop_filter_c : 228.2
h263dsp.h_loop_filter_rvv_i32 : 144.0
h263dsp.v_loop_filter_c : 242.7
h263dsp.v_loop_filter_rvv_i32 : 114.0
(C is probably worse in real use due to less predictible branches.)