
Recherche avancée
Médias (29)
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (111)
-
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 2011MediaSPIP 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, parLe 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 (10508)
-
Nodejs couldn't find the ffmpeg module for some reason
29 décembre 2020, par ChawchawchawI 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) :


- 

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


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


-
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'










below is a screen shot of no. 3 result




how I set up(nodejs)


- 

- npm i ffmpeg fluent-ffmpeg rtsp-ffmpeg
- 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)






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


- 

- set up path manually e.g.) ffmpeg.setFfmpegPath(path)




=> 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


-
-
ffmpeg detects a videofile path when it does not exist
17 novembre 2020, par Nejc Kejzarthis 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, andds_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 !


-
How to concat videos with FFMPEG without a black frame in the middle
21 juillet 2020, par david kI need to join two videos together programmatically, and FFMPEG seems to be working perfectly except it leaves a single black frame between the two joined videos.


Based on this post, I'm guessing it's because the video and audio streams aren't exactly the same length (not sure why). Since I'm seeing a black flash, I'm guessing that the audio is slightly longer than the video, but I can't figure out how to remedy that. I'm fine losing a tiny piece of the audio at the end of the file.


Can anyone help me "trim" the end of my audio stream so that it matches my video stream ? I need to be able to do this for many files, so I can't just hard-code a value into my command.


I've attempted both of the methods that FFMPEG provides to concat, and both of them have this issue. I'd be fine with either approach, if I can get rid of the black frame.


Transcode :


ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex \
 "[0:v][0:a][1:v][1:a] concat=n=2:v=1:a=1 [outv] [outa]" \
 -map "[outv]" -map "[outa]" output.mp4



Re-wrap :


ffmpeg -f concat -i files.txt -c copy output.mp4



Here is the output of ffmpeg -i video1.mp4 -i video2.mp4 :


ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with Apple clang version 11.0.0 (clang-1100.0.33.16)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --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. 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 'video1.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2020-07-20T20:43:05.000000Z
 Duration: 00:00:09.88, start: 0.000000, bitrate: 1330 kb/s
 Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, mono, fltp, 53 kb/s (default)
 Metadata:
 creation_time : 2020-07-20T20:43:05.000000Z
 handler_name : AAC audio
 Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 1274 kb/s, 25 fps, 25 tbr, 30k tbn, 60k tbc (default)
 Metadata:
 creation_time : 2020-07-20T20:43:05.000000Z
 handler_name : H.264/AVC video
 encoder : AVC Coding
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'video2.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2020-07-20T20:43:06.000000Z
 Duration: 00:00:11.68, start: 0.000000, bitrate: 1346 kb/s
 Stream #1:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, mono, fltp, 53 kb/s (default)
 Metadata:
 creation_time : 2020-07-20T20:43:06.000000Z
 handler_name : AAC audio
 Stream #1:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 1289 kb/s, 25 fps, 25 tbr, 30k tbn, 60k tbc (default)
 Metadata:
 creation_time : 2020-07-20T20:43:06.000000Z
 handler_name : H.264/AVC video
 encoder : AVC Coding
At least one output file must be specified