Recherche avancée

Médias (9)

Mot : - Tags -/soundtrack

Autres articles (90)

  • 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

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (9445)

  • Better way to use ffmpeg with vidstab and encoding 2 pass

    17 juin 2020, par Guillaume B.

    I scan old 8mm films 
so I have folder with set of jpeg

    



    I transform them to films using ffmpeg ( I choose x264 2 pass encoding)

    



    //On all folder that start by 1 I launch the pass1 for x264

for f in 1*/ ; do cd "$f"; ffmpeg -y -r 18 -i img%05d.jpg -c:v libx264 -s 1200x898 -b:v 3000k -pass 1 -an -f mp4 /dev/null; cd ..; done

//On all folder that start by 1 I launch the pass2 x264

for f in 1*/ ; do cd "$f"; ffmpeg -y -r 18 -i img%05d.jpg -c:v libx264 -s 1200x898 -b:v 3000k -pass 2 ../"`echo ${PWD##*/}`.mp4"; cd ..; done


    



    —> Before I have set of folder with jpeg

    



    


    1965-FamilyStuff01\img1111.jpg,..,img9999.jpg

    
 


    1965-FamilyStuff02\img1111.jpg,..,img9999.jpg

    


    



    and I get

    



    


    1965-FamilyStuff01.mp4

    
 


    1965-FamilyStuff02.mp4

    


    



    then I discover vidstab that also need 2 pass

    



    // Stabilize every Video of a folder

    



    mkdir stab;for f in ./*.mp4 ; do echo "Stabilize $f" ; 
ffmpeg -i "$f" -vf vidstabdetect=shakiness=5:accuracy=15:stepsize=6:mincontrast=0.3:show=2 -y -f mp4 /dev/null; 
ffmpeg -i "$f" -vf vidstabtransform=smoothing=30:input="transforms.trf":interpol=linear:crop=black:zoom=0:optzoom=1,unsharp=5:5:0.8:3:3:0.4 -y "stab/$f" 
; done; rm transforms.trf;


    



    But I ask myself, that perhaps the order is not correct or perhaps there is a way to do the encoding with vidstab in less than 4 pass (2 pass for x264 encoding then 2 pass for vidstab)
or perhaps the order should be change to optimize quality of film output)

    


  • RTMP server - without watermarks everything works fine --- with watermark one stream will not work nginx ffmpeg overlay watermark

    10 juin 2021, par Ashley Taylor

    okay so i used the below config and everything works great both youtube and facebook work .

    


    rtmp {
    server {
        listen 1935;
        chunk_size 8192;
        application live {
        record off;
        live on;
        push rtmp://a.rtmp.youtube.com/live2/djfghjkdfhgkjsdfglsjdfhj;
                push rtmp://127.0.0.1:19350/rtmp/453uy4uty8ryt85ty85yt8; (facbook)
                    }
    
        }
    

    }


    


    Now i have tried 2 seprate way to add a water mark (Youtube works fine Every time)
Facebook does not stream at all let alone with a watermark

    


    examples i have tried below

    


    rtmp {
server {
    listen 1935;
    chunk_size 8192;
    application live {
    record off;
    live on;
            exec /bin/ffmpeg  -i rtmp://127.0.0.1:1935/live/$name
             -vf "movie=/etc/nginx/images/logo.png[logo];[0][logo]overlay=0:300"
             -c:v libx264 -f flv rtmp://127.0.0.1:1935/push/$name;
              }

    application push {
    live on;
    push rtmp://a.rtmp.youtube.com/live2/djfghjkdfhgkjsdfglsjdfhj;
            }
   }
}


    


    and another

    


    rtmp {
server {
    listen 1935;
    chunk_size 8192;
    application live {
    record off;
    live on;
            exec /bin/ffmpeg  -i rtmp://127.0.0.1:1935/live/$name
             -vf "movie=/etc/nginx/images/logo.png[logo];[0][logo]overlay=0:300"
             -c:v libx264 -f flv rtmp://127.0.0.1:1935/push/$name;
    
                    exec /bin/ffmpeg  -i rtmp://127.0.0.1:1935/live/$name
             -vf "movie=/etc/nginx/images/logo.png[logo];[0][logo]overlay=0:300"
             -c:v libx264 -f flv rtmp://127.0.0.1:1935/pushh/$name;
            }

    application push {
    live on;
    push rtmp://a.rtmp.youtube.com/live2/djfghjkdfhgkjsdfglsjdfhj;
            }

            application pushh {
            live on;
            push rtmp://127.0.0.1:19350/rtmp/453uy4uty8ryt85ty85yt8;
            }
   }
}


    


    Now for the life of me i just cannot get my brain to work.
i am very new to rtmp and have tried a dozen other ways before coming here for help.

    


    i know this is going to be something i where i am making such a simple mistake

    


    but on the other hand paying over $49 for restream.io for a shoddy service i just have to learn this for my own servers

    


  • using ffmpeg in XCode : Operation not permitted

    23 octobre 2019, par NCrusher

    In an effort to try to get to the bottom of the problem I discussed here, I decided to try to get what I was doing closer to the example I borrowed from when writing my code, which is described here.

    So instead of formatting my filters in another methods, I tried to code them directly into the method to run the conversion. Unfortunately this results in a very repetitive method, because I have to handle the switch statement for the different conversion choices here as well.

    So this is what my method looks like now :

    func ffmpegConvert() {
       guard let launchPath = Bundle.main.path(forResource: "ffmpeg", ofType: "") else { return }
       do {
           let conversionChoice = conversionOptionsPopup.indexOfSelectedItem
           switch conversionChoice {
               case 1 :
                   let convertTask: Process = Process()
                   convertTask.launchPath = launchPath
                   convertTask.arguments = [
                       "-y",
                       "-i", "\(inputFilePath)",
                       "-c:a", "libmp3lame",
                       "-ac", "1",
                       "-ar", "22050",
                       "-q:a", "9",
                       "\(outputFilePath)"
                   ]
                   convertTask.standardInput = FileHandle.nullDevice
                   convertTask.launch()
                   convertTask.waitUntilExit()
               case 2 :
                   let convertTask: Process = Process()
                   convertTask.launchPath = launchPath
                   convertTask.arguments = [
                       "-y",
                       "-i", "\(inputFilePath)",
                       "-c:a", "libmp3lame",
                       "-ac", "2",
                       "-ar", "44100",
                       "-q:a", "5",
                       "\(outputFilePath)"
                   ]
                   convertTask.standardInput = FileHandle.nullDevice
                   convertTask.launch()
                   convertTask.waitUntilExit()
               case 3 :
                   let convertTask: Process = Process()
                   convertTask.launchPath = launchPath
                   convertTask.arguments = [
                       "-y",
                       "-i", "\(inputFilePath)",
                       "-c:a", "libmp3lame",
                       "-ac", "1",
                       "-ar", "22050",
                       "-b:a", "32k",
                       "\(outputFilePath)"
                   ]
                   convertTask.standardInput = FileHandle.nullDevice
                   convertTask.launch()
                   convertTask.waitUntilExit()
               case 4 :
                   let convertTask: Process = Process()
                   convertTask.launchPath = launchPath
                   convertTask.arguments = [
                       "-y",
                       "-i", "\(inputFilePath)",
                       "-c:a", "flac",
                       "\(outputFilePath)"
                   ]
                   convertTask.standardInput = FileHandle.nullDevice
                   convertTask.launch()
                   convertTask.waitUntilExit()
               default :
                   let convertTask: Process = Process()
                   convertTask.launchPath = launchPath
                   convertTask.arguments = [
                       "-y",
                       "-i", "\(inputFilePath)",
                       "-c", "copy",
                       "\(outputFilePath)"
                   ]
                   convertTask.standardInput = FileHandle.nullDevice
                   convertTask.launch()
                   convertTask.waitUntilExit()
           }
       }
    }

    The good news is : I didn’t get the same errors I was getting before.

    The bad news is : I got a different one. "Operation not permitted."

    I assume this has something to do with the permissions granted to processes running in XCode when testing them out. Is there a way to get around it ?

    My project is really dead in the water until I get the ffmpeg implementation worked out, because everything else I’m going to want it to do—such as rechaptering audiobooks and/or editing metadata—is going to rely upon ffmpeg as well. But I’ve only been doing this a few weeks and whatever is going on here is outside my ability to troubleshoot.

    EDIT : I managed to get around this by turning the sandbox option in the permissions file off. But I’m leaving this question up because I’m not at all sure that was the right thing to do.