
Recherche avancée
Médias (1)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (57)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (8631)
-
MPEG-DASH - Multiplexed Representations Issue
26 avril 2017, par MikeI’m trying to learn ffmpeg, MP4Box, and MPEG-DASH, but I’m running into an issue with the .mp4 I’m using. I’m using ffmpeg to demux the mp4 with this command :
ffmpeg -i test.mp4 -c:v copy -g 72 -an video.mp4 -c:a copy audio.mp4
Once the two files are created, I use MP4Box to segment the files for the dash player using this command :
MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ output.mp4
Which does create all the files I think I need. Then I point the player to the output_dash.mpd and nothing happens except a ton of messages in the console :
[8] EME detected on this user agent! (ProtectionModel_21Jan2015)
[11] Playback Initialized
[21] [dash.js 2.3.0] MediaPlayer has been initialized
[64] Parsing complete: ( xml2json: 3.42ms, objectiron: 2.61ms, total: 0.00603s)
[65] Manifest has been refreshed at Wed Apr 12 2017 12:16:52 GMT-0600 (MDT)[1492021012.196]
[72] MediaSource attached to element. Waiting on open...
[77] MediaSource is open!
[77] Duration successfully set to: 148.34
[78] Added 0 inline events
[78] No video data.
[79] No audio data.
[79] No text data.
[79] No fragmentedText data.
[79] No embeddedText data.
[80] Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines
[81] No streams to play.Here is the MP4Box -info on the video I’m using :
* Movie Info *
Timescale 1000 - Duration 00:02:28.336
Fragmented File no - 2 track(s)
File suitable for progressive download (moov before mdat)
File Brand mp42 - version 512
Created: GMT Wed Feb 6 06:28:16 2036
File has root IOD (9 bytes)
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: Not part of MPEG-4 Visual profiles (0xfe)
Audio PL: Not part of MPEG-4 audio profiles (0xfe)
No streams included in root OD
iTunes Info:
Name: Rogue One - A Star Wars Story
Artist: Lucasfilm
Genre: Trailer
Created: 2016
Encoder Software: HandBrake 0.10.2 2015060900
Cover Art: JPEG File
Track # 1 Info - TrackID 1 - TimeScale 90000 - Duration 00:02:28.335
Media Info: Language "Undetermined" - Type "vide:avc1" - 3552 samples
Visual Track layout: x=0 y=0 width=1920 height=816
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 1920 x 816
AVC Info: 1 SPS - 1 PPS - Profile High @ Level 4.1
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 1920 x 816
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 00:02:28.305
Media Info: Language "English" - Type "soun:mp4a" - 6387 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Synchronized on stream 1
Alternate Group ID 1I know I need to separate the video and audio and I think that’s where my issue is. The command I’m using probably isn’t doing the right thing.
Is there a better command to demux my mp4 ?
Is the MP4Box command I’m using best for segmenting the files ?
If I use different files, will they always need to be demuxed ?One thing to mention, if I use the following commands everything works fine, but there is no audio because of the
-an
which means it’s only video :ffmpeg -i test.mp4 -c:v copy -g 72 -an output.mp4
MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ output.mp4UPDATE
I noticed that the video had no audio stream, but the audio had the video stream which is why I got the mux error. I thought that might be an issue so I ran this command to keep the unwanted streams out of the outputs :
ffmpeg -i test.mp4 -c:v copy -g 72 -an video.mp4 -c:a copy -vn audio.mp4
then I run :
MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ video.mp4 audio.mp4
now I no longer get the Multiplexed representations are intentionally not supported... message, but now I get :
[122] Video Element Error: MEDIA_ERR_SRC_NOT_SUPPORTED
[123] [object MediaError]
[125] Schedule controller stopping for audio
[126] Caught pending play exception - continuing (NotSupportedError: Failed to load because no supported source was found.)I tried playing the video and audio independently through Chrome and they both work, just not through the dash player. Ugh, this is painful to learn, but I feel like I’m making progress.
-
Recording a webpage stream with multiple requests using PhantomJS & ffmpeg to /dev/stdout leads to ffmpeg error
2 septembre 2016, par Allisson FerreiraFirst of all, sorry for my english.
I’m in a quest for days. I’ve researched everywhere and I couldn’t find an answer to my problem.
I’m using Nodejs, Phantomjs and ffmpeg in this scenary :
- An user enters the site, login with facebook and he can ask for a video with his name and some random photos (gathered by /me/ & sent via JSON POST) ;
- Node receive the user data, creates a child process (PhantomJS + ffmpeg) and awaits for a response to send the video URL to the user.
When I run a single instance of this request, everything is working fine. BUT, when two or more users make the request, only one video is sent and the others process end up in a ffmpeg stream error.
I think the reason is that all the ffmpeg processes are using the same place (/dev/stdout). Since one process is already using it, the others enters in a "can’t access" error. But it is a assumption, I don’t know how /dev/stdout really works.
Here are my codes. (I have removed some lines and renamed some variables for better understanding, sorry for any mistake)
index.js :
var generateVideo = 'phantomjs phantom.js '+videoID+' '+userID+' | ffmpeg -vcodec png -f image2pipe -r 30 -i - -pix_fmt yuv420p public/videos/'+userID+'/'+videoID+'.mp4 -y';
childProcess.exec(generateVideo, function(err, stdout, stderr) {
var json = {};
json.video = '/videos/'+userID+'/'+videoID+'.mp4';
res.send(json);
});phantom.js :
var page = require('webpage').create();
page.viewportSize = { width: 1366, height: 768 };
page.settings.resourceTimeout = 10000;
var args = require('system').args;
var videoID = args[1];
var userID = args[2];
page.open('http://localhost:3000/recordvideo/'+videoID, 'post', function(status){
var frame = 0;
var target_fps = 30;
var maxframes = page.evaluate(function () {
return getTotalDurationInSeconds();
}) * target_fps;
setInterval(function(){
page.render('/dev/stdout', { format: "png" });
if( frame >= maxframes ){
phantom.exit();
}
frame++;
}, (1000 / target_fps));
});And the error :
[Error: Command failed: /bin/sh -c phantomjs phantom.js XXXXXXXX XXXXXXXX | ffmpeg -vcodec png -f image2pipe -r 30 -i - -pix_fmt yuv420p public/videos/XXXXXXXX/XXXXXXXX.mp4 -y
www-0 ffmpeg version N-80901-gfebc862 Copyright (c) 2000-2016 the FFmpeg developers
www-0 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
www-0 configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
www-0 libavutil 55. 28.100 / 55. 28.100
www-0 libavcodec 57. 48.101 / 57. 48.101
www-0 libavformat 57. 41.100 / 57. 41.100
www-0 libavdevice 57. 0.102 / 57. 0.102
www-0 libavfilter 6. 47.100 / 6. 47.100
www-0 libavresample 3. 0. 0 / 3. 0. 0
www-0 libswscale 4. 1.100 / 4. 1.100
www-0 libswresample 2. 1.100 / 2. 1.100
www-0 libpostproc 54. 0.100 / 54. 0.100
www-0 [png @ 0x3d7c4a0] Invalid PNG signature 0x46726F6D20506861.
www-0 [image2pipe @ 0x3d72780] decoding for stream 0 failed
www-0 [image2pipe @ 0x3d72780] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size
www-0 Consider increasing the value for the 'analyzeduration' and 'probesize' options
www-0 Input #0, image2pipe, from 'pipe:':
www-0 Duration: N/A, bitrate: N/A
www-0 Stream #0:0: Video: png, none(pc), 30 tbr, 30 tbn, 30 tbc
www-0 [buffer @ 0x3d81540] Unable to parse option value "0x0" as image size
www-0 [buffer @ 0x3d81540] Unable to parse option value "-1" as pixel format
www-0 [buffer @ 0x3d81540] Unable to parse option value "0x0" as image size
www-0 [buffer @ 0x3d81540] Error setting option video_size to value 0x0.
www-0 [graph 0 input from stream 0:0 @ 0x3d72600] Error applying options to the filter.
www-0 Error opening filters!
www-0 ]I really hope that I can find an answer here !
And sorry if there already is an answer for this. But I researched for days.Thank you in advance !
-
nginx RTMP to HLS : FFMPG error when trying multiple bitrate output [on hold]
28 mai 2014, par user3685074I’m currently trying to convert my RTMP Livestream into a HLS with 3 quality-settings.
I followed this guide
I’ve compiled my own FFMPEG and it’s working if I just convert 1 file.
It seems libx264 isn’t able to do multiple encodings at the same time ?I’m using these command :
exec /usr/local/bin/ffmpeg -i rtmp://localhost/src/$name
-c:a libfdk_aac -b:a 32k -c:v libx264 -b:v 128K -f flv rtmp://localhost/hls/$name_low
-c:a libfdk_aac -b:a 64k -c:v libx264 -b:v 256K -f flv rtmp://localhost/hls/$name_mid
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 512K -f flv rtmp://localhost/hls/$name_hi 2>>/tmp/ffmpeg.log;this is the output :
ffmpeg version N-63519-g61917a1 Copyright (c) 2000-2014 the FFmpeg developers
built on May 28 2014 18:06:42 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-x11grab --enable-libvpx --enable-libmp3lame --enable-librtmp --enable-libspeex --enable-libfdk_aac
libavutil 52. 87.100 / 52. 87.100
libavcodec 55. 65.100 / 55. 65.100
libavformat 55. 41.100 / 55. 41.100
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Metadata:
Server NGINX RTMP (github.com/arut/nginx-rtmp-module)
width 1280.00
height 720.00
displayWidth 1280.00
displayHeight 720.00
duration 0.00
framerate 25.00
fps 25.00
videodatarate 390.00
videocodecid 0.00
audiodatarate 27.00
audiocodecid 11.00
Input #0, flv, from 'rtmp://localhost/src/test':
Metadata:
Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
displayWidth : 1280
displayHeight : 720
fps : 25
profile :
level :
Duration: 00:00:00.00, start: 0.080000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p, 1280x720, 399 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
Stream #0:1: Audio: speex, 16000 Hz, mono, s16, 27 kb/s
[libx264 @ 0x5260380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x5260380] profile High, level 3.1
[libx264 @ 0x5260380] 264 - core 142 r2431 f23da7c - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 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=128 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[libx264 @ 0x525a920] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
Output #0, flv, to 'rtmp://localhost/hls/test_low':
Metadata:
Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
displayWidth : 1280
displayHeight : 720
fps : 25
profile :
level :
Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 128 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc55.65.100 libx264
Stream #0:1: Audio: aac (libfdk_aac), 16000 Hz, mono, s16, 32 kb/s
Metadata:
encoder : Lavc55.65.100 libfdk_aac
Output #1, flv, to 'rtmp://localhost/hls/test_mid':
Metadata:
Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
displayWidth : 1280
displayHeight : 720
fps : 25
profile :
level :
Stream #1:0: Video: h264, yuv420p, 1280x720, q=-1--1, 256 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc55.65.100 libx264
Stream #1:1: Audio: aac, 16000 Hz, mono, s16
Metadata:
encoder : Lavc55.65.100 libfdk_aac
Output #2, flv, to 'rtmp://localhost/hls/test_hi':
Metadata:
Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
displayWidth : 1280
displayHeight : 720
fps : 25
profile :
level :
Stream #2:0: Video: h264, yuv420p, 1280x720, q=-1--1, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc55.65.100 libx264
Stream #2:1: Audio: aac, 16000 Hz, mono, s16
Metadata:
encoder : Lavc55.65.100 libfdk_aac
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (libspeex -> libfdk_aac)
Stream #0:0 -> #1:0 (h264 -> libx264)
Stream #0:1 -> #1:1 (libspeex -> libfdk_aac)
Stream #0:0 -> #2:0 (h264 -> libx264)
Stream #0:1 -> #2:1 (libspeex -> libfdk_aac)
Error while opening encoder for output stream #1:0 - maybe incorrect parameters such as bit_rate, rate, width or heightI hope you can help me and sorry for my bad english.
Greetz
Kevin