Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (51)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (6076)

  • Revert "avcodec/nvenc : fix b-frame DTS behavior with fractional framerates"

    14 juin 2023, par Timo Rothenpieler
    Revert "avcodec/nvenc : fix b-frame DTS behavior with fractional framerates"
    

    This reverts commit 9a245bdf5d7860b8bc5e5c21a105a075925b719a.

    This commit basically broke all samples with fractional framerates,
    rather than fixing them.
    I at this point do not understand the original issue anymore, and I'm
    not sure how this slipped my initial testing.
    All my test samples must have happened to have a simple timebase.

    The actual dts values pretty much always are just a simple chain of
    1,2,3,4,5,... Or maybe slightly bigger steps. Each increase by one means
    an advance in time by one unit of the timebase.
    So a fractional framerate/timebase is already not an issue.

    So with this patch applied, the calculation might end up substracting
    huge values (1001 is a common one) from the dts, which would be an
    offset of that many frames, not of that many fractions of a second.
    This broke at least muxing into mp4, if the sample happened to have a
    fractional framerate.

    I do not thing the original issue this patch tried to fix existed in the
    first place, so it can be reverted without further consequences.

    • [DH] libavcodec/nvenc.c
  • Oddly-named file "not found" when trying to move/copy via MacOS Terminal [closed]

    15 juin 2024, par Ben C

    This is a head scratcher.

    


    I need to move these three oddly-named files from an external 2.5" SSD to my desktop. The file names were intended to have variables replaced by date info, however, clearly it didn't work. So I'm left with these filenames that MacOS seems to want to interpret rather than treat as a string. I wish it was as easy as tossing in single quotes or escaping chars, but so far, that hasn't worked.

    


    Files: Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-.mp4 Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-0001.mp4 Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-0002.mp4

    


    I'm on MacOS. In the Finder, the files are not visible. But they are not hidden files.

    


    In Terminal, however, when I navigate to "/Volumes/TestDrive", then run a quick "ls", I can see all three files no problem. Including permissions, size, owners, full filename, etc.

    


    However, when I attempt to move the files to my desktop, and rename in the process (even if I don't rename), Terminal tells me that "No such file or folder can be found" or something very close to that.

    


    I've tried using mv and cp commands to put the filename in single quotes so the filename is read literally. Yet, I'm still given feedback that the file cannot be transferred because it cannot be found or doesn't exist.

    


    mv 'Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-.mp4' ~/Desktop/Test01-01.mp4' 'cp 'Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-.mp4' ~/Desktop/Test01-01.mp4

    


    When I try to escape special characters instead of quotes, I am also told the file doesn't exist. But clearly it does when I list out the contents of the drive. And there's only 3x .mp4 files, two hiddne files .fseventsd and some spotlight file.

    


    mv Test01-\$\(internal\:date_y\)-\$\(internal\:date_m\)-\$\(internal\:date_d\)-.mp4 ~/Desktop/Test01-01.mp4

    


    I've tried copying by inode. No luck. I've tried pulling the videos into ffmpeg (CLI based media mgmt tool) to see if I can get some info on the files, and same thing, ffmpeg (or ffprobe) both will tell me the file doesn't exist...even though I can list the files and see that it does.

    


    I hope I'm missing something obvious, but but it seems all the obvious approaches are not yet working for me.

    


    So my question is, what do I need to do to make these files "exist" so that I can rename them and back them up ? Happy to go down any rabbit hole.

    


    Thanks in advance !

    


  • FFmpeg drawtext filter error : "Cannot find a valid font for the family Sans"

    7 septembre 2024, par fatdrogen

    I'm trying to add text overlay to a video using FFmpeg's drawtext filter in my iOS app, but I'm encountering the following error :

    


    error : Cannot load default config file

    


    ERROR : Cannot find a valid font for the family Sans

    


    ERROR : Error initializing filter 'drawtext'

    


    ERROR : with args 'text=write some thing :'

    


    Here's the relevant part of my FFmpeg command :

    


    Copydrawtext=text='write some thing '

    


    Questions :

    


    What's causing this error, and how can I resolve it ?
Is there a way to specify a font that's guaranteed to be available on iOS devices ?
Are there any alternative approaches to adding text overlay in FFmpeg that might avoid this issue ?

    


    Environment :

    


    Platform : iOS
FFmpeg : Using MobileFFmpeg library
Swift

    


    Any help or guidance would be greatly appreciated !

    


    func makeGIFData(asset: AVAsset,  startTime: Double, endTime: Double, rotation: Double, overlayText: String) async throws -> Data {
    let fileName = "\(ProcessInfo.processInfo.globallyUniqueString)_input.mp4"
    let fileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(fileName)
    
    // Export the asset to a temporary file
    guard let exporter = try? await AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetHighestQuality) else {
        throw NSError(domain: "GIFConversionError", code: -1, userInfo: [NSLocalizedDescriptionKey: "Failed to create AVAssetExportSession"])
    }
    
    exporter.outputURL = fileURL
    exporter.outputFileType = .mp4
    exporter.timeRange = CMTimeRange(start: CMTime(seconds: startTime, preferredTimescale: 600), end: CMTime(seconds: endTime, preferredTimescale: 600))
    
    do {
        try await exporter.export()
    } catch {
        throw NSError(domain: "GIFConversionError", code: -2, userInfo: [NSLocalizedDescriptionKey: "Failed to export video: \(error.localizedDescription)"])
    }
    
    let outfileName = "\(ProcessInfo.processInfo.globallyUniqueString)_outfile.gif"
    let outfileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(outfileName)
    
    // Get video dimensions
    guard let track = try? await asset.loadTracks(withMediaType: .video).first,
          let videoSize = try? await track.load(.naturalSize) else {
        throw NSError(domain: "GIFConversionError", code: -4, userInfo: [NSLocalizedDescriptionKey: "Failed to get video dimensions"])
    }
    
    // Prepare FFmpeg command
    var command = "-i \(fileURL.path) -vf "
    
    
    // Add text overlay
    let escapedText = overlayText.replacingOccurrences(of: ":", with: "\\:").replacingOccurrences(of: "'", with: "\\'")
    let fontColor = textColor.toHexString()
    
    // Use a more universally available font, or provide multiple options
    filters += ",drawtext=text='write some thing ':"
    
    // Add palette generation and application
    filters += ",split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse"
    
    // Add filters to command
    command += "\"\(filters)\""
    
    // Finalize command
    command += " -loop 0 \(outfileURL.path)"
    
    print("FFmpeg command: \(command)")
    
    let startTime = CFAbsoluteTimeGetCurrent()
    
    let result = MobileFFmpeg.execute(command)
    
    if result != RETURN_CODE_SUCCESS {
        throw NSError(domain: "GIFConversionError", code: Int(result), userInfo: [NSLocalizedDescriptionKey: "FFmpeg conversion failed"])
    }
    
    let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
    print("Time elapsed: \(timeElapsed) s.")
    
    // Read the generated GIF file
    guard let gifData = try? Data(contentsOf: outfileURL) else {
        throw NSError(domain: "GIFConversionError", code: -3, userInfo: [NSLocalizedDescriptionKey: "Failed to read generated GIF file"])
    }
    
    print("Animated GIF data created successfully. Size: \(gifData.count) bytes")
    
    // Clean up temporary files
    try? FileManager.default.removeItem(at: fileURL)
    try? FileManager.default.removeItem(at: outfileURL)
    
    return gifData
}
'''