Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (69)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • 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 ;

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (8571)

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

  • 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 !

    


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