Recherche avancée

Médias (91)

Autres articles (75)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (10104)

  • ffmpeg decoding MP4 to Open GL texture black screen

    5 septembre 2019, par Dakiaiu

    I decoded a MP4 video and want to display the AVFrame via glTexImage2D and glTexSubImage2D but all I get is a blank GL Window.

    I’ve tried looking at the various examples in the ffmpeg github examples tree. https://github.com/FFmpeg/FFmpeg/tree/master/doc/examples and different posts from the past and recently on this site learning slowly from them but I could not find anything I am doing wrong.

    while(av_read_frame(format_context,packet) >= 0){

           if(packet->stream_index == video_stream_index){

               av_frame = decode(codec_context,av_frame,packet);

               sws_context = sws_getContext(codec_context->width,codec_context->height,codec_context->pix_fmt,codec_context->width,codec_context->height,
                       AV_PIX_FMT_RGB24, SWS_BICUBIC,nullptr,nullptr,nullptr);

               sws_scale(sws_context,
                       av_frame->data,
                       av_frame->linesize,
                       0,
                       codec_context->height,
                       gl_frame->data,
                       gl_frame->linesize);

               sws_freeContext(sws_context);

               if(first_use == true) {

                   glTexImage2D(GL_TEXTURE_2D,
                                0,
                                GL_RGB,
                                codec_context->width,
                                codec_context->height,
                                0,
                                GL_RGB,
                                GL_UNSIGNED_BYTE,
                                gl_frame->data[0]);

                   first_use = false;

               }else{

                   glTexSubImage2D(GL_TEXTURE_2D,
                           0,
                           0,
                           0,
                           codec_context->width,
                           codec_context->height,
                           GL_RGB,
                           GL_UNSIGNED_BYTE,
                           gl_frame->data[0]);

               }

           }


       }


       while( glfwGetKey(window, GLFW_KEY_ESCAPE ) != GLFW_PRESS &&
              glfwWindowShouldClose(window) == 0 );

    }

    The frames decode successfully but I cannot see anything. It has to be something with the above gl code that I have done wrong. I can show the ffmpeg code above if necessary.

  • NGINX-RTMP : adaptive multi bitrate streaming by ffmpeg got BLACK SREEN OUT PUT

    28 mars 2022, par duxng17

    I 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 Patel

    This 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 ?