Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (38)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Changer son thème graphique

    22 février 2011, par

    Le thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
    Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
    Modifier le thème graphique utilisé
    Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
    Il suffit ensuite de se rendre dans l’espace de configuration du (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (4056)

  • Fragment shader does not show any colour when compiled with vs2013

    11 juin 2015, par 5mayfive

    When compiled with vs2010, the fragment shader works, but when I compiled and run in vs 2013, it’s grey.

    My fragment shader converts the yuv texture into rgb

    Below is my fragment code

       const char *FProgram =
       "uniform sampler2D Ytex;\n"
       "uniform sampler2D Utex;\n"
       "uniform sampler2D Vtex;\n"
       "void main(void) {\n"
       "  vec4 c = vec4((texture2D(Ytex, gl_TexCoord[0]).r - 16./255.) * 1.164);\n"
       "  vec4 U = vec4(texture2D(Utex, gl_TexCoord[0]).r - 128./255.);\n"
       "  vec4 V = vec4(texture2D(Vtex, gl_TexCoord[0]).r - 128./255.);\n"
       "  c += V * vec4(1.596, -0.813, 0, 0);\n"
       "  c += U * vec4(0, -0.392, 2.017, 0);\n"
       "  c.a = 1.0;\n"
       "  gl_FragColor = c;\n"
       "}\n";





    glClearColor(0, 0, 0, 0);

    PHandle = glCreateProgram();
    FSHandle = glCreateShader(GL_FRAGMENT_SHADER);



    glShaderSource(FSHandle, 1, &FProgram, NULL);
    glCompileShader(FSHandle);

    glAttachShader(PHandle, FSHandle);
    glLinkProgram(PHandle);


    glUseProgram(PHandle);
    glDeleteProgram(PHandle);
    glDeleteProgram(FSHandle);

    This is my texture code, I receive linesize and yuv frame data from ffmpeg and make into texture. Everything works fine in VS 2010 computer, but when compiled and run in vs2013 computer, it is grey (black n white), no colour

       /* Select texture unit 1 as the active unit and bind the U texture. */
    glPixelStorei(GL_UNPACK_ROW_LENGTH, linesize1);
    glActiveTexture(GL_TEXTURE1);
    i = glGetUniformLocation(PHandle, "Utex");
    glUniform1i(i, 1);  /* Bind Utex to texture unit 1 */
    glBindTexture(GL_TEXTURE_2D, 1);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width / 2, height / 2, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, frame1);
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);


    /* Select texture unit 2 as the active unit and bind the V texture. */
    glPixelStorei(GL_UNPACK_ROW_LENGTH, linesize2);
    glActiveTexture(GL_TEXTURE2);
    i = glGetUniformLocation(PHandle, "Vtex");
    glUniform1i(i, 2);  /* Bind Vtext to texture unit 2 */
    glBindTexture(GL_TEXTURE_2D, 2);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width / 2, height / 2, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, frame2);
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);


    /* Select texture unit 0 as the active unit and bind the Y texture. */



    glPixelStorei(GL_UNPACK_ROW_LENGTH, linesize0);
    glActiveTexture(GL_TEXTURE0);
    i = glGetUniformLocation(PHandle, "Ytex");
    glUniform1i(i, 0);
    glBindTexture(GL_TEXTURE_2D, 0);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, frame0);
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);



    glClear(GL_COLOR_BUFFER_BIT);

    /* Draw image (again and again). */

    glBegin(GL_QUADS);
    glTexCoord2i(0, 0);
    glVertex2i(-w / 2, h / 2);
    glTexCoord2i(1, 0);
    glVertex2i(w / 2, h / 2);
    glTexCoord2i(1, 1);
    glVertex2i(w / 2, -h / 2);
    glTexCoord2i(0, 1);
    glVertex2i(-w / 2, -h / 2);
    glEnd();

    Need guidance here, thanks in advance !

  • Fragment shader does not show any colour when compiled with vs2013

    4 septembre 2019, par 5mayfive

    When compiled with vs2010, the fragment shader works, but when I compiled and run in vs 2013, it’s grey.

    My fragment shader converts the yuv texture into rgb

    Below is my fragment code

       const char *FProgram =
       "uniform sampler2D Ytex;\n"
       "uniform sampler2D Utex;\n"
       "uniform sampler2D Vtex;\n"
       "void main(void) {\n"
       "  vec4 c = vec4((texture2D(Ytex, gl_TexCoord[0]).r - 16./255.) * 1.164);\n"
       "  vec4 U = vec4(texture2D(Utex, gl_TexCoord[0]).r - 128./255.);\n"
       "  vec4 V = vec4(texture2D(Vtex, gl_TexCoord[0]).r - 128./255.);\n"
       "  c += V * vec4(1.596, -0.813, 0, 0);\n"
       "  c += U * vec4(0, -0.392, 2.017, 0);\n"
       "  c.a = 1.0;\n"
       "  gl_FragColor = c;\n"
       "}\n";





    glClearColor(0, 0, 0, 0);

    PHandle = glCreateProgram();
    FSHandle = glCreateShader(GL_FRAGMENT_SHADER);



    glShaderSource(FSHandle, 1, &FProgram, NULL);
    glCompileShader(FSHandle);

    glAttachShader(PHandle, FSHandle);
    glLinkProgram(PHandle);


    glUseProgram(PHandle);
    glDeleteProgram(PHandle);
    glDeleteProgram(FSHandle);

    This is my texture code, I receive linesize and yuv frame data from ffmpeg and make into texture. Everything works fine in VS 2010 computer, but when compiled and run in vs2013 computer, it is grey (black n white), no colour

       /* Select texture unit 1 as the active unit and bind the U texture. */
    glPixelStorei(GL_UNPACK_ROW_LENGTH, linesize1);
    glActiveTexture(GL_TEXTURE1);
    i = glGetUniformLocation(PHandle, "Utex");
    glUniform1i(i, 1);  /* Bind Utex to texture unit 1 */
    glBindTexture(GL_TEXTURE_2D, 1);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width / 2, height / 2, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, frame1);
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);


    /* Select texture unit 2 as the active unit and bind the V texture. */
    glPixelStorei(GL_UNPACK_ROW_LENGTH, linesize2);
    glActiveTexture(GL_TEXTURE2);
    i = glGetUniformLocation(PHandle, "Vtex");
    glUniform1i(i, 2);  /* Bind Vtext to texture unit 2 */
    glBindTexture(GL_TEXTURE_2D, 2);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width / 2, height / 2, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, frame2);
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);


    /* Select texture unit 0 as the active unit and bind the Y texture. */



    glPixelStorei(GL_UNPACK_ROW_LENGTH, linesize0);
    glActiveTexture(GL_TEXTURE0);
    i = glGetUniformLocation(PHandle, "Ytex");
    glUniform1i(i, 0);
    glBindTexture(GL_TEXTURE_2D, 0);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, frame0);
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);



    glClear(GL_COLOR_BUFFER_BIT);

    /* Draw image (again and again). */

    glBegin(GL_QUADS);
    glTexCoord2i(0, 0);
    glVertex2i(-w / 2, h / 2);
    glTexCoord2i(1, 0);
    glVertex2i(w / 2, h / 2);
    glTexCoord2i(1, 1);
    glVertex2i(w / 2, -h / 2);
    glTexCoord2i(0, 1);
    glVertex2i(-w / 2, -h / 2);
    glEnd();
  • Show portrait video to landscape on Videojs player as HLS ffmpeg Laravel

    11 décembre 2020, par TwistCode

    I am currently using the ffmpeg library through laravel sdk. For the landscape videos I have no problem with the scaling filters application, but with the portrait videos I need the video to look like the thumbnail below :

    


    enter image description here

    


    But when I play the video, the player is distorted.

    


    enter image description here

    


    Note : It should be noted that when I work with horizontal scales, the player looks good, but the video is distorted.

    


    enter image description here

    


    enter image description here

    


    this is my PHP Laravel code implementation

    


                FFMpeg::FromDisk('local')->open($this->media)
            ->exportForHLS()
            ->setSegmentLength(6) // optional
            /*
            ->addFormat($lowBitrate, function ($media) {
                $media->addFilter(function ($filters, $in, $out) {
                    $filters->custom($in, 'scale=854x480,setsar=1,setdar=16:9', $out); // $in, $parameters, $out

                });
            })*/
            // Portrait test
            ->addFormat($lowBitrate, function ($media) { 
                $media->addFilter(function ($filters, $in, $out) {
                    // $filters->custom($in, "scale='w=min(720,trunc((480*33/40*dar)/2+0.5)*2):h=min(480,trunc((704*40/33/dar)/2+0.5)*2)',pad='w=720:h=480:x=(ow-iw)/2:y=(oh-ih)/2',setsar='r=40/33'", $out); // $in, $parameters, $out
                    $filters->custom($in, "scale=239:-1", $out); // $in, $parameters, $out
                });
            })
            /*
            ->addFormat($midBitrate, function ($media) {
                $media->scale(1280, 720);
            })
            ->addFormat($highBitrate, function ($media) {
                $media->scale(1920, 1080);
            })*/
            ->save("public/hls/$video->id/$video->hash_name.m3u8");


    


    This is the command that runs at the server level for portrait videos.

    


    


    [2020-12-10 17:48:17] local.INFO : ffmpeg running command
'/usr/bin/ffmpeg' '-y' '-threads' '12' '-i'
'/home/vagrant/homesteadprojects/maquillate/storage/app/videos_directory/pexels-cottonbro-6054875.mp4'
'-filter_complex' '[0]scale=640 :-2[v0]' '-map' '[v0]' '-vcodec'
'libx264' '-b:v' '1200k' '-g' '48' '-hls_playlist_type' 'vod'
'-hls_time' '6' '-hls_segment_filename'
'/home/vagrant/homesteadprojects/maquillate/storage/app/public/hls/35/NXp9waz4AO5Q14Lu6T3JbjSRY496RrtiPGIz6IOJ_0_1200_%05d.ts'
'-acodec' 'aac' '-b:a' '128k'
'/home/vagrant/homesteadprojects/maquillate/storage/app/public/hls/35/NXp9waz4AO5Q14Lu6T3JbjSRY496RrtiPGIz6IOJ_0_1200.m3u8'

    


    


    I don't really know if my problem is at the server or frontend level, but I would greatly appreciate any contribution.