Recherche avancée

Médias (1)

Mot : - Tags -/publier

Autres articles (48)

  • 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

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • 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 (7384)

  • DXGI Desktop Duplication : encoding frames to send them over the network

    13 novembre 2016, par prazuber

    I’m trying to write an app which will capture a video stream of the screen and send it to a remote client. I’ve found out that the best way to capture a screen on Windows is to use DXGI Desktop Duplication API (available since Windows 8). Microsoft provides a neat sample which streams duplicated frames to screen. Now, I’ve been wondering what is the easiest, but still relatively fast way to encode those frames and send them over the network.

    The frames come from AcquireNextFrame with a surface that contains the desktop bitmap and metadata which contains dirty and move regions that were updated. From here, I have a couple of options :

    1. Extract a bitmap from a DirectX surface and then use an external library like ffmpeg to encode series of bitmaps to H.264 and send it over RTSP. While straightforward, I fear that this method will be too slow as it isn’t taking advantage of any native Windows methods. Converting D3D texture to a ffmpeg-compatible bitmap seems like unnecessary work.
    2. From this answer : convert D3D texture to IMFSample and use MediaFoundation’s SinkWriter to encode the frame. I found this tutorial of video encoding, but I haven’t yet found a way to immediately get the encoded frame and send it instead of dumping all of them to a video file.

    Since I haven’t done anything like this before, I’m asking if I’m moving in the right direction. In the end, I want to have a simple, preferably low latency desktop capture video stream, which I can view from a remote device.

    Also, I’m wondering if I can make use of dirty and move regions provided by Desktop Duplication. Instead of encoding the frame, I can send them over the network and do the processing on the client side, but this means that my client has to have DirectX 11.1 or higher available, which is impossible if I would want to stream to a mobile platform.

  • avcodec : Remove libstagefright

    3 janvier 2016, par Derek Buitenhuis
    avcodec : Remove libstagefright
    

    It serves absolutely no purpose other than to confuse potentional
    Android developers about how to use hardware acceleration properly
    on the the platform. The stagefright "API" is not public, and the
    MediaCodec API is the proper way to do this.

    Furthermore, stagefright support in avcodec needs a series of
    magic incantations and version-specific stuff, such that
    using it actually provides downsides compared just using the actual
    Android frameworks properly, in that it is a lot more work and confusion
    to get it even running. It also leads to a lot of misinformation, like
    these sorts of comments (in [1]) that are absolutely incorrect.

    [1] http://stackoverflow.com/a/29362353/3115956

    Signed-off-by : Derek Buitenhuis <derek.buitenhuis@gmail.com>

    • [DH] Changelog
    • [DH] MAINTAINERS
    • [DH] configure
    • [DH] libavcodec/Makefile
    • [DH] libavcodec/allcodecs.c
    • [DH] libavcodec/libstagefright.cpp
    • [DH] libavcodec/version.h
    • [DH] tools/build_libstagefright
  • Swift Process Fails to Properly Send Metadata Args to FFMPEG

    30 avril 2019, par Ryan Stone

    I’m writing a Swift Process that concatenates a series of audio files using FFMPEG and libfdk_aac. The concatenation works, but when I pass metadata information through the process I get a Unrecognized option 'metadata artist="ff"' ... Option not found error.

    When debugging, if I use a breakpoint and print using e print(args.joined(separator: " ")) I’m able to take the exact output and paste it in the console, FFMPEG runs and doesn’t throw an error.

    I’m assuming there’s an oddity with how Swift process works, but even there I’ve tested and I’m stumped. I created a ruby script that took the args and looped over them and printed them and there is nothing given to the script that is unexpected. (Output below)

    Swift Process

    private func export() {
           guard let ffmpegPath = Bundle.main.path(forResource: "ffmpeg", ofType: "") else { return }


           var task = Process()
           task.launchPath = ffmpegPath

           let args: [String] = [
               "-i",
               #"concat:"\#(fileContents)""#,
               title(),
               artist(),
               narrator(),
               "-c:a",
               "libfdk_aac",
               "-vn",
               #"\#(exportPath)\#(exportFilename)"#
           ].compactMap { $0 }

           task.arguments = args

           var pipe = Pipe()
           setStdErrPipe(pipe: &amp;pipe, task: &amp;task)
           setTerminationNotification(task: task)

           task.launch()
       }

       func title() -> String? {
           guard metadata.titleText != "" else {
               return nil
           }
           return #"-metadata title="\#(metadata.titleText)""#
       }

       func artist() -> String? {
           guard metadata.authorText != "" else { return nil }
           return #"-metadata artist="\#(metadata.authorText)""#
       }

       func narrator() -> String? {
           guard metadata.narratorText != "" else { return nil }
           return #"-metadata album_artist="\#(metadata.narratorText)""#
       }

    Arg tester Output

    -i
    concat:"/Users/sharkmaul/Downloads/Bringing Up BÈbÈ/Bringing Up BÈbÈ-Part01.mp3|/Users/sharkmaul/Downloads/Bringing Up BÈbÈ/Bringing Up BÈbÈ-Part02.mp3"
    -metadata title="title"
    -metadata artist="author"
    -metadata album_artist="narrator"
    -c:a
    libfdk_aac
    -vn
    /Users/sharkmaul/Desktop/068F4F43-89EE-47F6-838D-7AD3E02E7F8A.m4a