Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (57)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (10027)

  • ffmpeg detects a videofile path when it does not exist

    17 novembre 2020, par Nejc Kejzar

    this is boggling my mind. I am using ffmpeg to compress videos within the following python script :

    


    import re
import os

kage = 'MH5'
year = '2020'
month = '11'
day = '10'

# Set output dir; create it if it doesn't exist yet
downsampled_video_dir = home_data_dir + f'piCamera/downsampled_videos/{kage}/{year}/{month}/{day}/'
Path(downsampled_video_dir).mkdir(parents=True, exist_ok=True)
    
for i, video in enumerate(videos):
        # Set ffmpeg video compression terminal command and output directory for downsampled videos
        video_name = re.findall('\d+_\d+.mp4', video)[0]
        ds_output = downsampled_video_dir + video_name
        compress_command = f"ffmpeg -i {video} -vf scale={video_res[0]}:-2 {ds_output}"
        
        # Run ffmpeg video compression
        os.system(compress_command)


    


    videos is a list of full video paths of the videos that I wish to compress, and ds_output is a full path of where to write the compressed video. video_res[0] contains the desired height of the video with the following -2 automatically calculating the width so that the aspect ratio is preserved.

    


    For some reason when running this, ffmpeg detects some of the videos in the output directory as already existing and asks if I wish to overwrite them. The videos of course aren't there yet, so when I pass y, ffmpeg complains that no such file exists. Here is an example output for one of the problematic videos :

    


    ffmpeg -y -i '/home/piCamera/MH4/2020/11/10/20201110_085451.mp4' -vf scale=400:300  '/home/piCamera/downsampled_videos/MH4/2020/11/10/20201110_085451.mp4'
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/piCamera/MH4/2020/11/10/20201110_085451.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
  Duration: 00:03:58.84, start: 0.000000, bitrate: 1190 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x720, 1190 kb/s, 5 fps, 5 tbr, 10240 tbn, 20480 tbc (default)
    Metadata:
      handler_name    : VideoHandler
/home/piCamera/downsampled_videos/MH4/2020/11/10/20201110_085451.mp4: No such file or directory


    


    This happens with about 3 videos out of 53, the rest run normally. I've tried restarting the terminal, deleted the whole created downsampled_video_dir and run again, but no matter how many times I restart, the same videos are the problem. The only thing that appears to help is if I change the output directory name. Any ideas of why this strange error is happening ?

    


    This is being run on Ubuntu20 with python3.7.9 in a Jupyter Notebook.

    


    Many, many thanks for all the insights !

    


  • FFMPEG fails while processing MOV files

    29 septembre 2020, par Tom

    I'm trying to convert video files to DASH format. All videos work great except MOV videos.

    


    I'm using the following command :

    


    /usr/local/bin/ffmpeg -y -i /path/to/mov/video.mov -c:v libx264 -c:a aac -bf 1 -keyint_min 25 -g 250 -sc_threshold 40 -use_timeline 1 -use_template 1 -init_seg_name 'video_init_$RepresentationID$.$ext$' -media_seg_name 'video_chunk_$RepresentationID$_$Number%05d$.$ext$' -seg_duration 10 -hls_playlist 0 -f dash -adaptation_sets -0:s -map 0 -s:v:0 854x480 -b:v:0 750k -strict -2 -threads 12 /output/path/video.mpd


    


    I get the error :

    


      

    • Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument ... Error initializing output stream 0:1
    • 


    


    The full command output is :

    


    ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 11.0.3 (clang-1103.0.32.62)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/path/to/file.mov':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2020-09-21T09:45:27.000000Z
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 7
com.apple.quicktime.software: 13.4.1
com.apple.quicktime.creationdate: 2020-06-15T11:59:36+0200
com.apple.photos.originating.signature: AXfhZgW4nrUdSusOMUuJRarfxD7R
Duration: 00:01:13.40, start: 0.000000, bitrate: 10616 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 96 kb/s (default)
Metadata:
creation_time : 2020-09-21T09:45:27.000000Z
handler_name : Core Media Audio
Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 10514 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
Metadata:
creation_time : 2020-09-21T09:45:27.000000Z
handler_name : Core Media Video
encoder : H.264
Stream #0:2(und): Data: none (mebx / 0x7862656D) (default)
Metadata:
creation_time : 2020-09-21T09:45:27.000000Z
handler_name : Core Media Metadata
Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2020-09-21T09:45:27.000000Z
handler_name : Core Media Metadata
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> aac (native))
Stream #0:1 -> #0:1 (h264 (native) -> h264 (libx264))
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Press [q] to stop, [?] for help
[libx264 @ 0x7f7f2600e000] using SAR=1280/1281
[libx264 @ 0x7f7f2600e000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f7f2600e000] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x7f7f2600e000] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=1 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=750 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:1 --
[aac @ 0x7f7f2600c000] Qavg: 880.111
[aac @ 0x7f7f2600c000] 2 frames left in the queue on closing
[libx264 @ 0x7f7f2600e000] final ratefactor: 28.97
Conversion failed!


    


    Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)


    


    I guess the problem is that the file contains two not audio/video streams :
I can not find a way to exclude or ignore or copy without processing those last two streams (#2 and #3).

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_3599.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2020-09-21T09:45:27.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 7
    com.apple.quicktime.software: 13.4.1
    com.apple.quicktime.creationdate: 2020-06-15T11:59:36+0200
    com.apple.photos.originating.signature: AXfhZgW4nrUdSusOMUuJRarfxD7R
  Duration: 00:01:13.40, start: 0.000000, bitrate: 10616 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 96 kb/s (default)
    Metadata:
      creation_time   : 2020-09-21T09:45:27.000000Z
      handler_name    : Core Media Audio
    Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 10514 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      creation_time   : 2020-09-21T09:45:27.000000Z
      handler_name    : Core Media Video
      encoder         : H.264
    Stream #0:2(und): Data: none (mebx / 0x7862656D) (default)
    Metadata:
      creation_time   : 2020-09-21T09:45:27.000000Z
      handler_name    : Core Media Metadata
    Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2020-09-21T09:45:27.000000Z
      handler_name    : Core Media Metadata


    


  • Nodejs couldn't find the ffmpeg module for some reason

    29 décembre 2020, par Chawchawchaw

    I need to display the live streaming vidoe(rtsp) on a website(http, vue framework) with nodejs and vue framework.

    


    I've looked it up a lot and got the basic logic of what they are and how it works.
So I'm planning on to convert rtsp to hls with nodejs using socket.io and display it on a web.(let me know if there's more efficient way way to do it)

    


    The thing is, for some reason, when I try to develop it in my backend(nodejs), node just keep sends me an error that FFMpeg module wasn't found. It's been over a week.. please help.

    


    Btw, all works with ffmpeg cmd(window powerShell).

    


    How I set up(ffmpeg) :

    


      

    1. downloaded ffmpeg from https://ffmpeg.org/

      


    2. 


    3. added to system path : C :\Users\Marie\Desktop\ffmpeg-4.3.1-2020-11-19-full_build\bin

      


    4. 


    5. tested with window powerShell and converted rstp to m3u8 :

      


      ffmpeg -i 'rtsp ://ip.ip.ip/media/video1' -hls_time 3 -hls_wrap 10 'C :\Users\Marie\Desktop\tmp\hls/streaming.m3u8'

      


    6. 


    


    below is a screen shot of no. 3 result
enter image description here

    



    


    how I set up(nodejs)

    


      

    1. npm i ffmpeg fluent-ffmpeg rtsp-ffmpeg
    2. 


    3. I've just copied and pasted the example working code and changed rtsp link to mine. e.g : (https://www.npmjs.com/package/rtsp-ffmpeg)
    4. 


    


    => didn't work out, error says can't find ffmpeg module

    


      

    1. set up path manually e.g.) ffmpeg.setFfmpegPath(path)
    2. 


    


    => didn't work out. error says can't find ffmpeg module

    


    ...
I've seriously tried almost everything like delete, re-install ffmpeg, changed path, added path manyally, .. Please help....

    


    Edited :
package.json

    


    {
  "name": "streaming",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "ffmpeg": "0.0.4",
    "fluent-ffmpeg": "^2.1.2",
    "jsmpeg": "^1.0.0",
    "node-media-server": "^2.2.4",
    "node-onvif": "^0.1.7",
    "node-rtsp-stream": "0.0.9",
    "rtsp-ffmpeg": "0.0.15",
    "socket.io": "^3.0.4",
    "ws": "^7.4.1"
  }
}


    


    app.js

    


    const Stream = require('node-rtsp-stream')

// let path = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin/ffmpeg.exe'
// let path = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin/'
let path = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin'
const ffmpeg = require('fluent-ffmpeg')

ffmpeg.setFfmpegPath(path)

stream = new Stream({
  name: 'name',
  streamUrl: 'rtsp://ip.ip.ip.ip/media/video1',
  wsPort: 9999,
  ffmpegOptions: { // options ffmpeg flags
    '-stats': '', // an option with no neccessary value uses a blank string
    '-r': 30 // options with required values specify the value after the key
  }
})


    


    Error : spawn ffmpeg ENOENT

    


    app.js (for another test)

    


    const app = require( 'express' )(),
    server = require( 'http' ).Server( app ),
    io = require( 'socket.io' )( server ),
    rtsp = require( 'rtsp-ffmpeg' )

process.env.FFMPEG_PATH = 'C:/Users/Marie/Desktop/ffmpeg-4.3.1-2020-11-19-full_build/bin/ffmpeg.exe'
// console.log( rtsp.FFMpeg )

server.listen( 6147 )
var uri = 'rtsp://ip.ip.ip.ip/media/video1',
    stream = new rtsp.FFMpeg( { input: uri } )
io.on( 'connection', function ( socket )
{
    var pipeStream = function ( data )
    {
        socket.emit( 'data', data.toString( 'base64' ) )
    }
    stream.on( 'data', pipeStream )
    socket.on( 'disconnect', function ()
    {
        stream.removeListener( 'data', pipeStream )
    } )
} )
app.get( '/', function ( req, res )
{
    res.sendFile( __dirname + '/index.html' )
} )


    


    error :
FMpeg executable wasn't found. Install this package and check FFMpeg.cmd property

    


    nodejs version = 10.16.3