
Recherche avancée
Autres articles (104)
-
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (11948)
-
FFMPEG 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.mp4I 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 !
-
Nginx RTMP Pull to HLS Streaming
5 avril 2023, par Nathaniel AndersonI've followed this guide on setting up RTMP to HLS streaming - https://web.archive.org/web/20221205201139/https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/


RTMP streaming works just fine but for some reason I can't get HLS to link with the already existing RTMP server. I'm using OBS to stream to RTMP and it's set to be on x264 and as far as I know the default codec for audio is AAC so I'm not sure why it's not picking it up.


Current Nginx.conf


worker_processes auto;
events {
 worker_connections 1024;
}

# RTMP configuration
rtmp {
 server {
 listen 1935; # Listen on standard RTMP port
 chunk_size 4000;

# Define the Application
 application show {
 live on;
 pull rtmp://localhost:1935/stream/test;
 # Turn on HLS
 hls on;
 hls_path /mnt/hls/;
 hls_fragment 3;
 hls_playlist_length 60;
 # disable consuming the stream from nginx as rtmp
 deny play all;
 }

 # RTMP video on demand for mp4 files
 application vod {
 play /mnt/mp4s;
 }

 # RTMP stream using OBS
 application stream {
 live on;
 }

 }
}

http {
 sendfile off;
 tcp_nopush on;
 aio on;
 directio 512;
 default_type application/octet-stream;

 server {
 listen 8080;

 location / {
 # Disable cache
 add_header 'Cache-Control' 'no-cache';

 # CORS setup
 add_header 'Access-Control-Allow-Origin' '*' always;
 add_header 'Access-Control-Expose-Headers' 'Content-Length';

 # allow CORS preflight requests
 if ($request_method = 'OPTIONS') {
 add_header 'Access-Control-Allow-Origin' '*';
 add_header 'Access-Control-Max-Age' 1728000;
 add_header 'Content-Type' 'text/plain charset=UTF-8';
 add_header 'Content-Length' 0;
 return 204;
 }

 types {
 application/dash+xml mpd;
 application/vnd.apple.mpegurl m3u8;
 video/mp2t ts;
 }

 root /mnt/;
 }
 }
}



I've tried changing the rtmp link I have in that config too to both internal and external IP's since it can be reached. I tested watching the rtmp from another computer on the network to confirm it was functional. I wanted to avoid transcoding with ffmpeg since the server doesn't have that kind of power.


-
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.)