Recherche avancée

Médias (2)

Mot : - Tags -/documentation

Autres articles (111)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (11184)

  • ffmpeg crashes in electron mac apple store build

    23 février 2021, par Martin

    UPDATE
I found the command otool -L ffmpeg-mac/ffmpeg | grep /usr/local which shows me which dynamicly linked files are in my ffmpeg build, it was point to 3 files so I moved them to my desktop and then built my mac apple store build, uploaded it to the app store, downloaded it, and tried to run it again but got a new less-descriptive error :

    


    /Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/app.asar/node_modules/execa/lib/error.js:59 Uncaught (in promise) Error: Command failed with exit code 1: /Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/ffmpeg -i /Users/martinbarker/Downloads/Felix Lebarty - Bobo/06. Special Lady.mp3 -y -filter_complex concat=n=1:v=0:a=1 -c:a libmp3lame -b:a 320k /Users/martinbarker/Downloads/Felix Lebarty - Bobo/output-887564.mp3
ffmpeg version N-101191-g51a9f487ae-ntd_20150128 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
  configuration: pkg_config='pkg-config --static' --pkg-config-flags=--static --libdir=/usr/local/lib --extra-version=ntd_20150128 --disable-shared --disable-lzma --enable-gpl --enable-pthreads --enable-nonfree --disable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-static --enable-filters --enable-runtime-cpudetect
  libavutil      56. 65.100 / 56. 65.100
  libavcodec     58.125.100 / 58.125.100
  libavformat    58. 68.100 / 58. 68.100
  libavdevice    58. 12.100 / 58. 12.100
  libavfilter     7.107.100 /  7.107.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[mp3 @ 0x7f9ba4802800] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '/Users/martinbarker/Downloads/Felix Lebarty - Bobo/06. Special Lady.mp3':
  Metadata:
    comment         : 
    album           : Bobo
    artist          : Felix Lebarty
    title           : Funkytown Eklablog
    genre           : Boogie
    date            : 1984
  Duration: 00:03:35.33, start: 0.000000, bitrate: 320 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
/Users/martinbarker/Downloads/Felix Lebarty - Bobo/output-887564.mp3: Operation not permitted
    at makeError (/Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/app.asar/node_modules/execa/lib/error.js:59)
    at handlePromise (/Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/app.asar/node_modules/execa/index.js:114)
    at async file:/Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/app.asar/src/js/newindex.js:1151


    


    The error says command failed with exit code 1 Operation not permitted, am I missing some entitlements for saving files on my computer in the final mac apple store build that gets uploaded to the app store ?

    



    


    I am trying to release an electron app on the Mac Apple Store (mas), my electron app uses ffmpeg to render videos. In order to release my app on the mac apple store, It needs to be sandboxed, and by default ffmpeg makes calls to external libraries so I need to statically build ffmpeg and package it with my app. I have successfully built my app, submitted it to the app store, had it approved, and downloaded/used it but my ffmpeg fails with this errir :

    


    Uncaught (in promise) Error: Command was killed with SIGABRT (Aborted): /Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/ffmpeg -i /Users/martinbarker/Downloads/Steve Leach With The Crystal Grass Orchestra – Ocean Potion/9. Get Out In The Sun.flac -i /Users/martinbarker/Downloads/Steve Leach With The Crystal Grass Orchestra – Ocean Potion/10. Golden Hues.flac -y -filter_complex concat=n=2:v=0:a=1 -c:a libmp3lame -b:a 320k /Users/martinbarker/Downloads/Steve Leach With The Crystal Grass Orchestra – Ocean Potion/output-261020.mp3
dyld: Library not loaded: /usr/local/opt/libass/lib/libass.9.dylib
  Referenced from: /Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/ffmpeg
  Reason: no suitable image found.  Did find:
    file system sandbox blocked open() of '/usr/local/opt/libass/lib/libass.9.dylib'
    /usr/local/opt/libass/lib/libass.9.dylib: stat() failed with errno=1
    file system sandbox blocked open() of '/usr/local/lib/libass.9.dylib'
    file system sandbox blocked open() of '/usr/local/Cellar/libass/0.15.0/lib/libass.9.dylib'
    at makeError (/Users/martinbarker/…eca/lib/error.js:59)
    at handlePromise (/Users/martinbarker/…/execa/index.js:114)
    at async file:/Users/ma…js/newindex.js:1151


    


    I think this line is important ; file system sandbox blocked open() of '/usr/local/opt/libass/lib/libass.9.dylib' but I'm not sure what I should change with my static ffmpeg build so that it works in production and so that I can avoid the above error.

    


    My code is available on the branch mas-attempt-after-redesign here : https://github.com/MartinBarker/digify/tree/mas-attempt-after-redesign

    


    Inside my package.json I have the command download-ffmpeg which clones the ffmpeg repo, runs a configure command with some flags, and then builds ffmpeg into a folder called 'ffmpeg-mac', this folder gets packaged with the app for the mac apple store build.

    


    git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-mac && cd ffmpeg-mac && ./configure pkg_config='pkg-config --static' --pkg-config-flags='--static' --libdir=/usr/local/lib --extra-version=ntd_20150128 --disable-shared --disable-lzma --enable-gpl --enable-pthreads --enable-nonfree --enable-libass --enable-libfdk-aac  --enable-libmp3lame  --enable-libx264 --enable-static --enable-filters --enable-runtime-cpudetect && make && cd ..


    


    You can see in the above ffmpeg command the flag --enable-libass, but even though I have that flag included, after I build and sign my mac apple store build by running sudo rm -rf dist/mas/ && npm run build-mas && sh mas-sign-script.sh, the production build (once approved) fails with the above included error.

    


  • electron ffmpeg mas build "Illegal instruction : 4"

    8 mars 2021, par Martin

    I am trying to release an electron app on the Mac Apple Store (mas), my electron app uses ffmpeg to render videos. In order to release my app on the mac apple store, It needs to be sandboxed, and by default ffmpeg makes calls to external libraries so I need to statically build ffmpeg and package it with my app. My code is on the 'mas-ffmpeg-fix' branch : https://github.com/MartinBarker/digify/tree/mas-ffmpeg-fix

    


    My static ffmpeg build works before I build my app, but after running electron-builder build --mac, the ffmpeg executable now fails with Illegal instruction: 4

    


    This is the full timeline of building/packaging/submitting my app to the mac apple store and where the error first appears :

    


      

    • In Digify repo :

      


    • 


    • clone, configure, and build static ffpmeg : “sudo rm -rf ffmpeg-mac/ && npm run download-ffmpeg”

      


    • 


    • download-ffmpeg command is inside package.json and runs this :
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-mac && cd ffmpeg-mac && ./configure pkg_config='pkg-config --static' --pkg-config-flags='--static' --libdir=/usr/local/lib --extra-version=ntd_20150128 --disable-shared --disable-lzma --enable-gpl --enable-pthreads --enable-nonfree --enable-libass --enable-libfdk-aac  --enable-libmp3lame  --enable-libx264 --enable-static --enable-filters --enable-runtime-cpudetect && make && cd ..

      


    • 


    • Check if any dylibb files in the static ffmpeg build with command : “otool -L ffmpeg-mac/ffmpeg | grep /usr/local”

      


    • 


    • If there are any, move them to folder in desktop, run ‘otool’ again to ensure there are no dynamic libraries, rebuild static ffmpeg.

      


    • 


    • there will now be a folder 'ffmpeg-mac' which contains static versions of ffmpeg and ffprobe

      


    • 


    


    Using ffmpeg with electron UI : works
Using Ffmpeg with command-line command :
/Users/martinbarker/Documents/projects/digify-new/ffmpeg-mac/ffmpeg -h
Works

    


      

    • Build mac mass app with “npm run build-mas“
    • 


    • When this command finishes it will output two files inside the /dist/mas/ folder : Digify.app and Digify-01.20.pkg (or whatever version number it is)
Ffmpeg command-line check :
/Users/martinbarker/Documents/projects/digify-new/dist/mas/Digify.app/Contents/Resources/ffmpeg -h
Illegal instruction : 4
    • 


    


    This is the first place the error appears, after building my mac mac-apple-store app, ffmpeg fails with this err.

    


      

    • Sign built app with .sh file : “sh mas-sign-script.sh”
view .sh file here

        

      • the .sh file will output Digify-mac.pkg
      • 


      


    • 


    • Easier command to both build & sign : “sudo rm -rf dist/mas/ && npm run build-mas && sh mas-sign-script.sh”
    • 


    • Upload the outputted “Digify-mac.pkg” file & submit to apple for review
    • 


    


    Once this app gets published in the store, if you download it and try to run an ffmpeg command with the electron UI, it fails with this error :

    


    /Applications/Digify.app/Contents/Resources/app.asar/node_modules/execa/lib/error.js:59 Uncaught (in promise) Error: Command failed with exit code 1: /Applications/Digify.app/Contents/Resources/ffmpeg -i /Users/martinbarker/Downloads/Felix Lebarty - Bobo/01. Bobo.mp3 -y -filter_complex concat=n=1:v=0:a=1 -c:a libmp3lame -b:a 320k /Users/martinbarker/Downloads/Felix Lebarty - Bobo/output-064237.mp3
ffmpeg version N-101191-g51a9f487ae-ntd_20150128 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
  configuration: pkg_config='pkg-config --static' --pkg-config-flags=--static --libdir=/usr/local/lib --extra-version=ntd_20150128 --disable-shared --disable-lzma --enable-gpl --enable-pthreads --enable-nonfree --disable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-static --enable-filters --enable-runtime-cpudetect
  libavutil      56. 65.100 / 56. 65.100
  libavcodec     58.125.100 / 58.125.100
  libavformat    58. 68.100 / 58. 68.100
  libavdevice    58. 12.100 / 58. 12.100
  libavfilter     7.107.100 /  7.107.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[mp3 @ 0x7feeae809c00] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '/Users/martinbarker/Downloads/Felix Lebarty - Bobo/01. Bobo.mp3':
  Metadata:
    comment         : 
    album           : Bobo
    artist          : Felix Lebarty
    title           : Funkytown Eklablog
    genre           : Boogie
    date            : 1984
  Duration: 00:05:19.53, start: 0.000000, bitrate: 320 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
/Users/martinbarker/Downloads/Felix Lebarty - Bobo/output-064237.mp3: Operation not permitted
    at makeError (/Applications/Digify.app/Contents/Resources/app.asar/node_modules/execa/lib/error.js:59)
    at handlePromise (/Applications/Digify.app/Contents/Resources/app.asar/node_modules/execa/index.js:114)
    at async file:/Applications/Digify.app/Contents/Resources/app.asar/src/js/newindex.js:1162


    


    Command failed with exit code 1: Operation not permitted

    


  • lavu/tx : add an RDFT implementation

    21 janvier 2022, par Lynne
    lavu/tx : add an RDFT implementation
    

    RDFTs are full of conventions that vary between implementations.
    What I've gone for here is what's most common between
    both fftw, avcodec's rdft and what we use, the equivalent of
    which is DFT_R2C for forward and IDFT_C2R for inverse. The
    other 2 conventions (IDFT_R2C and DFT_C2R) were not used at
    all in our code, and their names are also not appropriate.
    If there's a use for either, we can easily add a flag which
    would just flip the sign on one exptab.

    For some unknown reason, possibly to allow reusing FFT's exp tables,
    av_rdft's C2R output is 0.5x lower than what it should be to ensure
    a proper back-and-forth conversion.
    This code outputs its real samples at the correct level, which
    matches FFTW's level, and allows the user to change the level
    and insert arbitrary multiplies for free by setting the scale option.

    • [DH] libavutil/tx.c
    • [DH] libavutil/tx.h
    • [DH] libavutil/tx_template.c