
Recherche avancée
Autres articles (71)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
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" ; -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (9191)
-
NGINX-RTMP : adaptive multi bitrate streaming by ffmpeg got BLACK SREEN OUT PUT
28 mars 2022, par duxng17I am using Nginx-rtmp for live adaptive bitrate streaming with HLS from OBS .
The encoding is run ok , but my livestream output in my web got black screen and still have the sound . i tried many ways to fix my issue but i cant . just helping me .
THIS IS MY NGINX CONFIG :


rtmp {
 server {
 listen 1935;
 chunk_size 4000;
 application live {
 live on;
 on_publish http://auth_sever:8000/auth;
 exec ffmpeg -i rtmp://localhost/live/$name
 -c:v libx264 -profile:v baseline -b:v 768K -s 640x360 -crf 23 -f flv -c:a aac -ac 1 -strict -2 -b:a 96k rtmp://localhost/show/$name_360
 -c:v libx264 -profile:v baseline -b:v 1024K -s 960x540 -crf 23 -f flv -c:a aac -ac 1 -strict -2 -b:a 128k rtmp://localhost/show/$name_480
 -c:v libx264 -profile:v baseline -b:v 1920K -s 1280x720 -crf 23 -f flv -c:a aac -ac 1 -strict -2 -b:a 128k rtmp://localhost/show/$name_720
 -c:v libx264 -profile:v baseline -b:v 4000K -s 1920x1080 -crf 23 -f flv -c:a aac -ac 1 -strict -2 -b:a 128k rtmp://localhost/show/$name_1080;
 }
 application show {
 live on;
 deny play all; # disable consuming the stream from nginx as rtmp
 hls on;
 hls_path /tmp/hls; 
 hls_nested on;
 hls_fragment 4s; # default is 5s
 hls_playlist_length 60s;
 hls_variant _360 BANDWIDTH=448000;
 hls_variant _480 BANDWIDTH=1152000;
 hls_variant _720 BANDWIDTH=2048000;
 hls_variant _1080 BANDWIDTH=4096000; 
 }
 }
}

http {
 sendfile off;
 tcp_nopush on;
 directio 512;
 default_type application/octet-stream;
 # LOAD-BALANCED
 upstream myapp {
 server localhost:8001;
 server auth_sever:8000;
 }
 server {
 listen 8080 default_server;
 location / {
 proxy_pass http://myapp;
 proxy_set_header Host $host;
 proxy_set_header X-Forwarded-For $remote_addr;
 }
 }
 server {
 listen 8081;
 location / {
 root /www;
 }
 location /hls {
 types {
 application/vnd.apple.mpegurl m3u8;
 application/octet-stream ts;
 }
 # 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;
 }
 root /tmp;
 }
 }
}



THIS MY DOCKERFILE CONFIG :


FROM tiangolo/nginx-rtmp
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y ffmpeg
COPY nginx.conf /etc/nginx/nginx.conf
COPY index.html /www/



THE LAST , SORRY , MY ENG IS NOT GOOD ! thank for helping !


-
in FFMPEG_AVAILABLE,How to insert a black frame in avpicture_fill if the frame is not available [on hold]
22 août 2018, par Vidhi PatelThis code should work :
avpicture_fill((AVPicture*) picture, (tUInt8*) this->ptrOVL->get_pOutputDataOVL(), PIX_FMT_BGR24, c->width, c->height);
but as the title says : what if the frame isn’t available ?
-
ffmpeg output to stdout is a black box (python)
27 juillet 2022, par dwilliamsProject Background :
The project I'm working on takes an image from a UE simulation camera, uses OpenCV to convert the image to .jpg, and streams the .jpg to a localhost port so that a second program can retrieve the images and annotate the objects in the simulation. I am attempting to convert these to a suitable format for UE4's WmfMediaPlayer via ffmpeg so that it can be streamed to another localhost port.


Problem :
I have managed to get a the stream active but the video at the end of stream is a black square. I'm confident but not 100% certain that I've setup the ffmpeg correctly. The output to console seem to imply that the conversion is working but I've been fooled before. It could also be the flask yield component.


ffmpeg declaration/setup :


process = (
 ffmpeg
 .input('C:/MOT/test.jpg') 
 .output('pipe:1', vcodec='libx264', format='avi') 
 .overwrite_output()
 .run_async(pipe_stdin=True, pipe_stdout=True)
 )



Flask Integration :


@app.route('/annotated')
def annotated():
 return Response(
 frame_generator_annotated(),
 mimetype='multipart/x-mixed-replace; boundary=frame'
 )


def frame_generator_annotated():
 global process
 while (True):
 frame = process.stdout.read()
 yield (b'--frame\r\n'
 b'Content-Type: video/avi\r\n\r\n' + frame + b'\r\n\r\n')



stream view :
http://localhost:5001/annotated


ffmpeg console output :


Running on all addresses.
 WARNING: This is a development server. Do not use it in a production deployment.
 * Running on http://192.168.1.220:5001/ (Press CTRL+C to quit)
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 10.2.1 (GCC) 20200726
 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
[mjpeg @ 00000269be0faec0] EOI missing, emulating
Input #0, image2, from 'C:/MOT/test.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 1968 kb/s
 Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1024x576 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 00000269be0fc240] using SAR=1/1
[libx264 @ 00000269be0fc240] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 00000269be0fc240] profile High, level 3.1, 4:2:0, 8-bit
Output #0, avi, to 'pipe:1':
 Metadata:
 ISFT : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuvj420p(pc), 1024x576 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 25 tbn, 25 tbc
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 1 fps=0.0 q=28.0 Lsize= 2kB time=00:00:00.04 bitrate= 447.2kbits/s speed= 2.9x 
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 157.307251%
[libx264 @ 00000269be0fc240] frame I:1 Avg QP:13.00 size: 869
[libx264 @ 00000269be0fc240] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 00000269be0fc240] 8x8 transform intra:0.0%
[libx264 @ 00000269be0fc240] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0%
[libx264 @ 00000269be0fc240] i16 v,h,dc,p: 97% 0% 3% 0%
[libx264 @ 00000269be0fc240] i8c dc,h,v,p: 100% 0% 0% 0%
[libx264 @ 00000269be0fc240] kb/s:173.80