Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (80)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (10810)

  • OpenGL and ffmpeg make video with stable fps

    27 août 2022, par Turgut

    I've made a program that takes multiple vidoes as inputs, have ffmpeg decode them, send them to opengl, then create a window using glfw, draw textures on the screen using those videos (Edits those textures), then I read the screen using glReadPixels so ffmpeg can encode it. I send the read frames to the encoder and it encodes it. I specify the fps on start, but the problem is the video is faster then it's supposed to be. Now I can do something like this :

    


    double pt_in_seconds = pts * (double)time_base.num / (double)time_base.den;
while (pt_in_seconds > glfwGetTime()) {
      glfwWaitEventsTimeout(pt_in_seconds - glfwGetTime());
}


    


    But the problem with this is that this approach makes the run-time really long. So if I input a 1 hour video I have to wait for 1 hours. If I don't use this code snippet it generates the output as fast as it can, but like I said the output video is faster than it's supposed to be. Whats shown in the glfw window is irrelevant, it's hidden anyways, it's just there to manipulate/merge input videos.

    


    Is there a better way for ffmpeg to stabilize the encoded information ? At the end of the day glfw just displays the decoded videos, since they are both on the same iteration.

    


    It looks roughly like this :

    


    ...
while(true)
{
   // The actual program originally reads every input inside a vector here.
   // But since the program itself is really long I just did this as a representation
   uint8_t* decoded_data = decoder.decode_one_frame();
   
   // draw_frame_on_screen returns glReadPixels result.
   uint8_t* screen_data = opengl_engine.draw_frame_on_screen(decoded_data);

   encoder.encode_one_frame(screen_data);
}


    


    Encoder is entirely just muxing.c from ffmpegs official docs, I've just removed the dummy image and added my screen_data as input.

    


    Using ubuntu, GLFW, GLAD, ffmpeg.

    


  • Qt6.4.1 QProcess cannot call external program FFmpeg [closed]

    21 décembre 2022, par Xingchen

    Based on the official Qt example, slightly modified to call the external ffmpeg.exe for transcoding operations

    


    QProcess *p = new QProcess(this);
QString program = "C:\\Users\\kyrio\\Documents\\Qt_Project\\build-test-Desktop_Qt_6_4_1_MinGW_64_bit-Debug\\debug";
QStringList arguments;
arguments << "ffmpeg" << "-i" << "C:\\Users\\kyrio\\Videos\\222.mp4" << "C:\\Users\\kyrio\\Videos\\223.mov";
p->start(program, arguments);


    


    Run no results, try a variety of writing methods also no results, get the output is empty, and no FFmpeg-related processes under the task manager
    
Try to call cmd, task manager can see the sub-processes under the new cmd.exe
    
command is fine, can be called in the terminal, but need to add ./or.
    
can be successfully run in the terminal

    


    Try prefixing arguments with.\or.\or./, still no response
    
Tried to get the exact path to the ffmpeg.exe file in the program string, still no response
    
I want to be able to successfully call ffmpeg.exe to achieve the video transcoding needs

    


    I have made the "program" exact to ffmpeg.exe and this is still unresponsive.No process, no errorString output.The output of exitCode is also absent.

    


    QString program = "C:\\Users\\kyrio\\Documents\\Qt_Project\\build-test-Desktop_Qt_6_4_1_MinGW_64_bit-Debug\\debug\\ffmpeg.exe";


    


    Running results

    


    I tried to start cmd and connected the errorOccurred signal, but there is no output, it is worth noting that the process cmd appears in the task manager
    
no output
task manager

    


  • I want to convert relay server nodejs http->websocket code version to java netty to spring-websocket

    20 août 2019, par rura6502

    I want to rewrite this example(https://github.com/phoboslab/jsmpeg/blob/master/websocket-relay.js) to java using netty and spring-WebSocket.

    This nodejs example’s HTTP server get the media data from FFmpeg and relay to the WebSocket. And then javascript library draws on the HTML Canvas.

    But My problem is that when I use netty, spring-WebSocket, some data cannot read by the javascript library and there are many data loss.

    In the example, this nodejs code’s main part I think.

    http = require('http'),
    WebSocket = require('ws');
    // setting websocket server ..............
    var streamServer = http.createServer( function(request, response) {
     // ....................
       response.connection.setTimeout(0);
       request.on('data', function(data){
           socketServer.broadcast(data);
               // .....
       });
     // .................
    }).listen(STREAM_PORT);

    So I already tried to change this. I just used netty code in the official document(https://netty.io/wiki/user-guide-for-4.x.html) and changed sending a part for the Websocket

    // this code is in channelRead method
    ByteBuf buf = (ByteBuf) msg;
    try {
     while (buf.isReadable()) { // (1)
       byte[] bytes = new byte[buf.readableBytes()];
       buf.readBytes(bytes);
       WSHandler.wsSessions.stream().forEach(wsSession -> {
         try {
           wsSession.sendMessage(new BinaryMessage(bytes));
         } catch (IOException e) {
           e.printStackTrace();
         };  
       });
     }
    } finally {
     ReferenceCountUtil.release(msg); // (2)
    }

    Please tell me what I missed. help me. thanks.