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)

  • Unable to access user selected file via NSOpenPanel in FFMPEG process in macOS app

    12 décembre 2019, par Raptor

    I am new to macOS development via SwiftUI. I’m trying to run a FFMPEG process after I selected a MP4 file via NSOpenPanel. However, the FFMPEG responded with :

    file :///Users/MyUsername/Documents/Video.mp4 : No such file or directory

    Here is my simple codes :

    import SwiftUI

    struct ContentView: View {

       @State var selectedURL: URL?

       var body: some View {
           VStack {
               if selectedURL != nil {
                   Text("Selected: \(selectedURL!.absoluteString)")
               } else {
                   Text("Nothing selected")
               }
               Button(action: {
                   let panel = NSOpenPanel()
                   panel.allowedFileTypes = ["mp4"]
                   panel.canChooseDirectories = false
                   panel.canCreateDirectories = false
                   panel.allowsMultipleSelection = false
                   let result = panel.runModal()
                   if result == .OK {
                       self.selectedURL = panel.url

                       let savePath = self.getDownloadDirectory().appendingPathComponent("video.webm")

                       self.convertVideo(inputFilePath: self.selectedURL!.absoluteString, outputFilePath: savePath.absoluteString, callback: {(s) in
                           // omit the callback at this moment
                       })
                   }
               }) {
                   Text("Select File")
               }
           }
           .frame(width: 640, height: 480)
       }

       func getDownloadDirectory() -> URL {
           let paths = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask)
           return paths[0]
       }

       func convertVideo(inputFilePath: String, outputFilePath: String,
                        callback: @escaping (Bool) -> Void) -> (Process, DispatchWorkItem)? {
           guard let launchPath = Bundle.main.path(forResource: "ffmpeg", ofType: "") else {
               return nil
           }
           let process = Process()
           let task = DispatchWorkItem {
               process.launchPath = launchPath
               process.arguments = [
                   "-y",
                   "-i", inputFilePath,
                   "-vcodec", "vp8",
                   "-acodec", "libvorbis",
                   "-pix_fmt", "yuva420p",
                   "-metadata:s:v:0",
                   "alpha_mode=\"1\"",
                   "-auto-alt-ref", "0",
                   outputFilePath
               ]
               process.standardInput = FileHandle.nullDevice
               process.launch()
               process.terminationHandler = { process in
                   callback(process.terminationStatus == 0)
               }
           }
           DispatchQueue.global(qos: .userInitiated).async(execute: task)

           return (process, task)
       }
    }

    What did I miss to allow FFMPEG process to access my selected file ? Thanks !

  • Stop termux on battery low [closed]

    9 août 2022, par Wouter van Dam

    TL ;DR BELOW

    


    I have a second phone who is converting some mkv files through ffmpeg in termux. But the phone can't get enough charging power from the charger because it uses to much power. So it state is always charging even if it isn't charging. No I want to run in termux a script that hits a kill command when the battery is low. So that it doesn't corrupt my files when shutting down because it just cant survive the night with my battery capacity. Any ideas of achieving this ?

    


    TL ;DR
How to run a termux command or script async with a event or looping function so that it kills the process when battery power is low.

    


  • Replace frames in an AVI with Java

    12 juillet 2018, par webuster

    I’m recording some screencasts and my crap recorder (Camtasia) recorded 2000 videos with a brief black flash (2-3 frames) at, or near the beginning of each.

    I’m looking for a way to automate the replacement of the black frames inside each video with FFmpeg, and I can currently detect which frames are black.

    The problem I have is now : How can I replace frame number X with the content of frame number X-1 in an AVI video ? Not looking to shorten the video, but just to replace a frame in-place.

    Here’s what I have so far :

    FFmpegFrameGrabber g = new FFmpegFrameGrabber("res/video.avi");
    g.start();

    FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(new FileOutputStream(new File("res/video_out.avi")), g.getImageWidth(), g.getImageHeight(), 2);

    recorder.setFormat("avi");
    recorder.setPixelFormat(AV_PIX_FMT_YUV420P);
    recorder.setFrameRate(30);
    recorder.setVideoCodec(AV_CODEC_ID_H264);
    recorder.setVideoQuality(10);
    recorder.setSampleFormat(AV_SAMPLE_FMT_FLTP);
    recorder.setSampleRate(48000);
    recorder.setAudioCodec(AV_CODEC_ID_AAC);
    recorder.setAudioQuality(10);

    g.setFrameNumber(1);
    recorder.setFrameNumber(2);
    recorder.record(g.grab());

    g.close();
    recorder.close();
    recorder.release();

    And I’m getting a video back with empty frames (not even black), so I might be messing something here.

    Anyone with experience with FFmpeg ?