Recherche avancée

Médias (91)

Autres articles (75)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (7363)

  • FFMPEG Merge Multiple Videos : No Audio Source for one of them

    28 mars 2020, par Coach Roebuck

    I’ve written a node.js script to merge multiple video files into a single file. I’ve encountered a scenario in which no audio is provided for one of the input video files.

    I first executed ffprobe so that I can access what I’ll refer to as the "video file spec". In this scenario, I created a basic module to help me better understand my problem :

    Evaluation from all processes: [
     {
       fileName: 'input-0.mp4',
       isVideoAvailable: true,
       isAudioAvailable: false,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '13.140000'
     },
     {
       fileName: 'input-1.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '17.160000'
     },
     {
       fileName: 'input-2.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '20.280000'
     },
     {
       fileName: 'input-3.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '19.020000'
     },
     {
       fileName: 'input-4.mp4',
       isVideoAvailable: true,
       isAudioAvailable: true,
       width: 1920,
       height: 1080,
       sampleRateAspectRatio: '1/1',
       audioVolume: 1,
       duration: '9.480000'
     }
    ]

    This next block of code are the parameters that I’ve actually hard-coded in this case. The screen resolution and aspect ratio are manually set, as I discovered differing settings with each video I have been processing. These parameters allow FFMPEG to execute successfully under normal circumstances :

    let ffmpegParameters = [
     '-i',
     'input-0.mp4',
     '-i',
     'input-1.mp4',
     '-i',
     'input-2.mp4',
     '-i',
     'input-3.mp4',
     '-i',
     'input-4.mp4',
     '-f',
     'lavfi',
     '-t',
     '0.1',
     '-i',
     'anullsrc',
     '-filter_complex',
     '[0:v]scale=1920:1080,setsar=1/1[v0];[0:a]volume=1.0[a0];[1:v]scale=1920:1080,setsar=1/1[v1];[1:a]volume=1.0[a1];[2:v]scale=1920:1080,setsar=1/1[v2];[2:a]volume=1.0[a2];[3:v]scale=1920:1080,setsar=1/1[v3];[3:a]volume=1.0[a3];[4:v]scale=1920:1080,setsar=1/1[v4];[4:a]volume=1.0[a4];[v0][a0][v1][a1][v2][a2][v3][a3][v4][a4]concat=n=5:v=1:a=1[v][a]',
     '-map',
     '[v]',
     '-map',
     '[a]',
     '-c:v',
     'libx264',
     '-vsync',
     '2',
     'output.mp4'
    ]

    A comment from a different thread suggested to supply a dummy audio in cases such as mine. I’ve added that to no prevail :

     '-f',
     'lavfi',
     '-t',
     '0.1',
     '-i',
     'anullsrc',

    I do not know how to adjust the complex filter to account for my situation of the first video containing no audio. I’ve included the entire log below :

    Logs:
    ffmpeg version git-2020-02-03-1c15111
    Copyright (c) 2000-2020 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.8)
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox
     libavutil      56. 38.100 / 56. 38.100
     libavcodec     58. 67.100 / 58. 67.100
     libavformat    58. 37.100 / 58. 37.100
     libavdevice    58.  9.103 / 58.  9.103
     libavfilter     7. 73.100 /  7. 73.100
     libswscale      5.  6.100 /  5.  6.100
     libswresample   3.  6.100 /  3.  6.100
     libpostproc    55.  6.100 / 55.  6.100

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input-0.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100

     Duration: 00:00:14.80, start: 1.620000, bitrate: 1499 kb/s
       Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1498 kb/s, 25 fps, 25 tbr, 1200k tbn, 2400k tbc (default)
       Metadata:
         handler_name    : VideoHandler

    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'input-1.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:18.48, start: 0.000000, bitrate: 977 kb/s
       Stream #1:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1440x876 [SAR 1:1 DAR 120:73], 903 kb/s, 15.21 fps, 16.67 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'input-2.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:22.68, start: 0.000000, bitrate: 1795 kb/s
       Stream #2:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1718 kb/s, 29.54 fps, 50 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #2:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'input-3.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:54.60, start:
    0.000000, bitrate: 404 kb/s
       Stream #3:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1440x876 [SAR 1:1 DAR 120:73], 330 kb/s, 15.24 fps, 16.67 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #3:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Input #4, mov,mp4,m4a,3gp,3g2,mj2, from 'input-4.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.37.100
     Duration: 00:00:09.36
    , start: 0.000000, bitrate: 1794 kb/s
       Stream #4:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1717 kb/s, 29.38 fps, 50 tbr, 16k tbn, 32k tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #4:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Stream specifier ':a' in filtergraph description [0:v]scale=1920:1080,setsar=1/1[v0];[0:a]volume=1.0[a0];[1:v]scale=1920:1080,setsar=1/1[v1];[1:a]volume=1.0[a1];[2:v]scale=1920:1080,setsar=1/1[v2];[2:a]volume=1.0[a2];[3:v]scale=1920:1080,setsar=1/1[v3];[3:a]volume=1.0[a3];[4:v]scale=1920:1080,setsar=1/1[v4];[4:a]volume=1.0[a4];[v0][a0][v1][a1][v2][a2][v3][a3][v4][a4]concat=n=5:v=1:a=1[v][a] matches no streams.

    When I removed the stream specifier [a0], I received a different error :

    FFmpeg Video Merge - STDERR: [Parsed_setsar_3 @ 0x7f87c7709100] Media type mismatch between the 'Parsed_setsar_3' filter output pad 0 (video) and the 'Parsed_concat_14' filter input pad 1 (audio)
    [AVFilterGraph @ 0x7f87c7430c00] Cannot create the link setsar:0 -> concat:1

    My question is how will the filter-complex value of my parameter list that I have defined be adjusted to deal with that first video, which has no audio ?

  • React Electron ffmpeg-extract-frames build error

    28 mars 2020, par taylorallen0913

    I am using the npm module ffmpeg-extract-frames for splitting video frames. It works completely fine when I am testing the module in a vanilla node environment. However, when I import the module in my Electron React desktop app component, it gives me a error when building.

    This is how I am importing it :

    const extractFrames = require("ffmpeg-extract-frames");

    This is the error I am getting when building in my React Electron component :

    > expedition-hacks-project@0.1.0 build /home/taylorallen/Desktop/expedition-hacks-project
    > set "FLUENTFFMPEG_COV=false" && react-scripts build

    Creating an optimized production build...
    Failed to compile.

    ./node_modules/fluent-ffmpeg/index.js
    Cannot find module: './lib-cov/fluent-ffmpeg'. Make sure this package is installed.

    You can install this package by running: npm install ./lib-cov/fluent-ffmpeg.


    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! expedition-hacks-project@0.1.0 build: `set "FLUENTFFMPEG_COV=false" && react-scripts build`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the expedition-hacks-project@0.1.0 build script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/taylorallen/.npm/_logs/2020-03-28T22_36_18_100Z-debug.log

    My package.json :

    {
     "name": "expedition-hacks-project",
     "version": "0.1.0",
     "private": true,
     "dependencies": {
       "@testing-library/jest-dom": "^4.2.4",
       "@testing-library/react": "^9.5.0",
       "@testing-library/user-event": "^7.2.1",
       "bootstrap": "^4.4.1",
       "bootstrap-fileinput": "^5.0.8",
       "ffmpeg-extract-frames": "^2.0.2",
       "fluent-ffmpeg": "^2.1.2",
       "jquery": "^3.4.1",
       "popper.js": "^1.16.1",
       "react": "^16.13.1",
       "react-bootstrap": "^1.0.0",
       "react-dom": "^16.13.1",
       "react-dropzone": "^10.2.2",
       "react-icons": "^3.9.0",
       "react-router-dom": "^5.1.2",
       "react-scripts": "3.4.1"
     },
     "homepage": "./",
     "main": "src/main.js",
     "scripts": {
       "start": "react-scripts start",
       "build": "set \"FLUENTFFMPEG_COV=false\" && react-scripts build",
       "test": "react-scripts test",
       "eject": "react-scripts eject",
       "electron": "electron ."
     },
     "eslintConfig": {
       "extends": "react-app"
     },
     "browserslist": {
       "production": [
         ">0.2%",
         "not dead",
         "not op_mini all"
       ],
       "development": [
         "last 1 chrome version",
         "last 1 firefox version",
         "last 1 safari version"
       ]
     },
     "devDependencies": {
       "electron": "^8.2.0",
       "electron-log": "^4.1.0",
       "react-app-rewired": "^2.1.5"
     }
    }

    I found a github issue https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/573#issuecomment-305408048 addressing this error, and I set FLUENTFFMPEG_COV=0 on in my build script

    My scripts :

     "scripts": {
       "start": "react-scripts start",
       "build": "set \"FLUENTFFMPEG_COV=false\" && react-scripts build",
       "test": "react-scripts test",
       "eject": "react-scripts eject",
       "electron": "electron ."
     },

    Setting the env variable seems to not do anything, I still get the same error.

  • avformat/movenc : write the mdcv atom by default

    28 mars 2020, par Michael Bradshaw
    avformat/movenc : write the mdcv atom by default
    

    The mdcv atom isn't in ISO/IEC 14496-12:2015 but it is expected to be
    added soon. See :
    http://ffmpeg.org/pipermail/ffmpeg-devel/2020-April/259529.html

    The mdcv atom is already parsed in FFmpeg in mov.c.

    Signed-off-by : Michael Bradshaw <mjbshaw@google.com>

    • [DH] libavformat/movenc.c