
Recherche avancée
Médias (3)
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (56)
-
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...) -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.
Sur d’autres sites (5181)
-
How to run bash script from NodeJS application correctly ?
13 mars 2019, par z EyelandI am running a node application that uses spawn child-process to start this script
#!/bin/bash
FILEPATH="$1"
COMPRESSIONPATH="$2"
ffmpeg -i $FILEPATH -vcodec h264 -acodec mp2 $COMPRESSIONPATH
sudo rm $FILEPATH
curl -H "Content-Type:application/json" -X GET
http://localhost:3000/clovis/api/ledThe script never finishes. If the ffmpeg compression command takes long then x amount of time then the process just stops and holds the process. I cant tell so by using the command ps-ef. Is there another way to start bash scripts from NodeJS other then spawn ? Does the NodeJS child-process have a time limit ?
-
ffmpeg command to copy raw data into MP4 hangs and never finishes
28 mai 2019, par James AdamsI am running an
ffmpeg
command to copy raw H.265 data into an MP4 file and the command never completes. The file isn’t large, just 10 seconds worth of data. Here’s the command I’m running :$ ffmpeg -rtsp_transport tcp -i rtsp://user:pass@71.185.124.195:554/c1/b1558830329/e1558830339/replay/ -vcodec copy -y test_clip.mp4
I then get output like this :
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://user:pass@71.85.104.195:554/c1/b1558830329/e1558830339/replay/':
Metadata:
title : ONVIF RTSP Server
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), 1920x1080, 30 fps, 30 tbr, 90k tbn, 60 tbc
Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (pcm_mulaw (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 0x55b71ce31900] Too many bits 8832.000000 > 6144 per frame requested, clamping to max
Output #0, mp4, to 'test_clip.mp4':
Metadata:
title : ONVIF RTSP Server
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 48 kb/s
Metadata:
encoder : Lavc57.107.100 aac
[mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18000, current: 3000; changing to 18001. This may result in incorrect timestamps in the output file.
[mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18001, current: 6000; changing to 18002. This may result in incorrect timestamps in the output file.
[mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18002, current: 9000; changing to 18003. This may result in incorrect timestamps in the output file.
[mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18003, current: 12000; changing to 18004. This may result in incorrect timestamps in the output file.
[mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18004, current: 15000; changing to 18005. This may result in incorrect timestamps in the output file.
[mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18005, current: 18000; changing to 18006. This may result in incorrect timestamps in the output file.
frame= 44 fps=0.0 q=-1.0 size= 256kB time=00:00:01.43 bitrate=1463.4kbits/frame= 60 fps= 57 q=-1.0 size= 512kB time=00:00:01.96 bitrate=2132.9kbits/frame= 76 fps= 48 q=-1.0 size= 768kB time=00:00:02.50 bitrate=2516.7kbits/frame= 92 fps= 44 q=-1.0 size= 1024kB time=00:00:03.03 bitrate=2765.6kbits/frame= 108 fps= 41 q=-1.0 size= 1024kB time=00:00:03.56 bitrate=2352.0kbits/[NULL @ 0x55b71cdfa540] SEI type 5 size 2208 truncated at 1944
frame= 123 fps= 39 q=-1.0 size= 1280kB time=00:00:04.06 bitrate=2578.6kbits/frame= 139 fps= 38 q=-1.0 size= 1536kB time=00:00:04.60 bitrate=2735.5kbits/frame= 155 fps= 37 q=-1.0 size= 1536kB time=00:00:05.13 bitrate=2451.3kbits/frame= 171 fps= 36 q=-1.0 size= 1792kB time=00:00:05.66 bitrate=2590.7kbits/frame= 187 fps= 36 q=-1.0 size= 2048kB time=00:00:06.20 bitrate=2706.1kbits/frame= 203 fps= 35 q=-1.0 size= 2304kB time=00:00:06.73 bitrate=2803.2kbits/frame= 219 fps= 35 q=-1.0 size= 2304kB time=00:00:07.26 bitrate=2597.4kbits/frame= 235 fps= 34 q=-1.0 size= 2560kB time=00:00:07.80 bitrate=2688.7kbits/frame= 246 fps= 33 q=-1.0 size= 2560kB time=00:00:08.16 bitrate=2568.0kbits/frame= 267 fps= 34 q=-1.0 size= 3072kB time=00:00:08.86 bitrate=2838.3kbits/frame= 282 fps= 34 q=-1.0 size= 3072kB time=00:00:09.36 bitrate=2686.8kbits/frame= 298 fps= 33 q=-1.0 size= 3328kB time=00:00:09.90 bitrate=2753.9kbits/frame= 314 fps= 33 q=-1.0 size= 3328kB time=00:00:10.43 bitrate=2613.1kbits/^Cspeed=1.11xThe command never completes and I need to kill it using
Ctrl-C
.I have also tried adding the options
-nostdin -loglevel error
and appending this to the end of the command :> /dev/null 2>&1 < /dev/null
but to no avail.I am testing the above since it mimics the actual code I’m developing which utilizes a Python package that wraps calls to
ffmpeg
. The Python code below works well on a laptop but hangs on EC2 (both are Ubuntu 18.04) :import argparse
import datetime
import ffmpeg
# ------------------------------------------------------------------------------
if __name__ == "__main__":
# USAGE
# $ python collect_and_store.py --rtsp rtsp://user:pass1@71.85.125.110:554 \
# --duration 30 --count 10
# construct the argument parser and parse the arguments
args_parser = argparse.ArgumentParser()
args_parser.add_argument("--rtsp",
required=True,
type=str,
help="RTSP URL for video stream")
args_parser.add_argument("--duration",
required=True,
type=int,
help="duration of saved clips (in seconds)")
args_parser.add_argument("--count",
required=True,
type=int,
help="number of clips to save")
args = vars(args_parser.parse_args())
# sanity check for some of the arguments
if not args["rtsp"].lower().startswith("rtsp://"):
raise ValueError("Invalid input URL -- only RTSP supported")
seconds_per_clip = args["duration"]
start = int(datetime.datetime.now().strftime("%s"))
end = start + seconds_per_clip
number_of_files_to_collect = args["count"]
while number_of_files_to_collect > 0:
# build URL with start and end times
# NOTE URL is for Uniview RTSP, add options for other camera types
url = args["rtsp"] + f"/c1/b{start}/e{end}/replay/"
# file where we'll write clip data
temp_file = f"clip_b{start}_e{end}.mp4"
# create the equivalent of the ffmpeg command:
# $ ffmpeg -i -vcodec copy -y -rtsp_transport tcp
stream = ffmpeg.input(url)
stream = ffmpeg.output(stream, temp_file,
**{"codec:v": "copy",
"rtsp_transport": "tcp",
"y": None
}
)
ffmpeg.run(stream)
print(f"\n\nMP4 file created: {temp_file}")
number_of_files_to_collect -= 1
start = end + 1
end = start + seconds_per_clip -
decodeAudioData failing with null errors on continuous stream
6 décembre 2013, par Brad.SmithIn my following code ffmpeg is transcoding the input stream and is successfully sending the chunks to the client. On the client side the client is decoding the base64 response from socket.io and is converting the response to an array buffer. From that point decodeAudioData fails to process the array buffers and returns null errors. Does anyone know why decodeAudioData isn't working ?
./webaudio_svr.js :
var express = require('/usr/local/lib/node_modules/express');
var http = require('http');
var spawn = require('child_process').spawn;
var util = require('util');
var fs = require('fs');
var app = express();
var webServer = http.createServer(app);
var audServer = http.createServer(app);
var io = require('/usr/local/lib/node_modules/socket.io').listen(webServer, {log: false, });
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
res.send(
"<code class="echappe-js"><script src=http://stackoverflow.com/feeds/tag/&#39;/socket.io/socket.io.js&#39;></script>\n"+
"<script>var socket=io.connect(&#39;http://127.0.0.1:3000&#39;);</script>
\n"+
"<script src=http://stackoverflow.com/feeds/tag/&#39;/webaudio_cli.js&#39;></script>
"
) ;
) ;
webServer.listen(3000) ;var inputStream = spawn('/usr/bin/wget', ['-O','-','http://nprdmp.ic.llnwd.net/stream/nprdmp_live01_mp3' ;]) ;
var ffmpeg = spawn('ffmpeg', [
'-i', 'pipe:0', // Input on stdin
'-ar', '44100', // Sampling rate
'-ac', 2, // Stereo
'-f', 'mp3',
'pipe:1' // Output on stdout
]) ;io.sockets.on('connection', function(webSocket)
var disconnect = '0' ;if (disconnect == '0')
inputStream.stdout.pipe(ffmpeg.stdin) ;
ffmpeg.stdout.on('data', function(data)
var data64 = data.toString('base64') ;
webSocket.emit('stream',data64) ;
) ;
webSocket.on('disconnect', function()
disconnect=1 ;
) ;
) ;
./public/webaudio_cli.js :
function str2ab(str) {
var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
var bufView = new Uint16Array(buf);
for (var i=0, strLen=str.length; icode>