
Recherche avancée
Médias (1)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (78)
-
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (4828)
-
ffmpeg - rendering images and sound into video with transparent background
22 septembre 2013, par AdamI got lots of images and a sound file.
I want to convert all these images into a video (with the wav file as the sound of the movie).
The images have a transparent background and I want the movie's background to be transparent too.How do I tell ffmpeg to render with a transparent background ?
P.S - I keep getting the following error :
Error while opening encoder for output stream #255:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Sincerely,
Adam.
-
Crossdevice encoding static file to stream in browser using FFMPEG (segmented h264 ?)
20 mars 2014, par VprnlI'm building a mediacenter application in NodeJS which is going pretty ok.
(you can check it out on Github : https://github.com/jansmolders86/mediacenterjs )I'm using FFMPEG to transcode local (static) movies to a stream which I then send to the browser.
At first I used h264 with Flash which worked in browsers, but I really need it to work on Android an iOS (so no Flash) and preferably working on a Raspberry Pi.
But getting it to play on all devices is driving me absolutely insane !
I have all these bits of the puzzle I've gathered from countless hours reading articles, tutorials and stack overflow posts, which led me to the conclusion that I need to produce the following :
- Use video codec H264 to transcode to MP4
- Move the moovatom '-movflags' to make a MP4 streamable
- Segment the stream so Apple can play the stream as well.
But getting nowhere with this. Every time I produce a series of FFMPEG settings that either don't work, or work on some devices rather than all.
Some of my failed attempt where :
My flash attempt -> Main problem (not running in IOS) :
'-y','-ss 0','-b 800k','-vcodec libx264','-acodec mp3'\
'-ab 128','-ar 44100','-bufsize 62000', '-maxrate 620k'\
metaDuration,tDuration,'-f flvmy HLS attempt -> Main problem (not running in browser) :
'-r 15','-b:v 128k','-c:v libx264','-x264opts level=41'\
'-threads 4','-s 640x480','-map 0:v','-map 0:a:0','-c:a mp3'\
'-b:a 160000','-ac 2','-f hls','-hls_time 10','-hls_list_size 6'\
'-hls_wrap 18','-start_number 1'My MP4 attempt -> Main problem (duration is shortened and the later part of the video is speeding by)
'-y','-ss 0','-b 800k','-vcodec libx264','-acodec mp3'\
'-ab 128','-ar 44100','-bufsize 62000', '-maxrate 620k'\
metaDuration,tDuration,'-f mp4','-movflags','frag_keyframe+empty_moov'Second MP4 attempt : -> Main problem (duration is shortened and the later part of the video is speeding by)
'-y','-vcodec libx264','-pix_fmt yuv420p','-b 1200k','-flags +loop+mv4'\
'-cmp 256','-partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8'\
'-me_method hex','-subq 7','-trellis 1','-refs 5','-bf 3','-coder 1'\
'-me_range 16','-g 150','-keyint_min 25','-sc_threshold 40'\
'-i_qfactor 0.71','-acodec mp3','-qmin 10','-qdiff 4','-qmax 51'\
'-ab 128k','-ar 44100','-threads 2','-f mp4','-movflags','frag_keyframe+empty_moov'])Here is an example of the FFMPEG log running with these settings :
file conversion error ffmpeg version N-52458-gaa96439 Copyright (c) 2000-2013 the FFmpeg developers
built on Apr 24 2013 22:19:32 with gcc 4.8.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --e
nable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable
-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --ena
ble-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwola
me --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enabl
e-libxvid --enable-zlib
libavutil 52. 27.101 / 52. 27.101
libavcodec 55. 6.100 / 55. 6.100
libavformat 55. 3.100 / 55. 3.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 60.101 / 3. 60.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[avi @ 02427900] non-interleaved AVI
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'C:/temp/the avengers.avi':
Duration: 00:00:34.00, start: 0.000000, bitrate: 1433 kb/s
Stream #0:0: Video: cinepak (cvid / 0x64697663), rgb24, 320x240, 15 tbr, 15 tbn, 15 tbc
Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 22050 Hz, mono, u8, 176 kb/s
Please use -b:a or -b:v, -b is ambiguous
[libx264 @ 02527c60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 02527c60] profile High, level 2.0
[libx264 @ 02527c60] 264 - core 130 r2274 c832fe9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x26
4.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x133 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=2 lookahead_threads=1 sliced_th
reads=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 we
ightb=1 open_gop=0 weightp=2 keyint=150 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=120
0 ratetol=1.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 aq=1:1.00
Output #0, mp4, to 'pipe:1':
Metadata:
encoder : Lavf55.3.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 320x240, q=10-51, 1200 kb/s, 15360 tbn, 15 tbc
Stream #0:1: Audio: mp3 (i[0][0][0] / 0x0069), 44100 Hz, mono, s16p, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (cinepak -> libx264)
Stream #0:1 -> #0:1 (pcm_u8 -> libmp3lame)
Press [q] to stop, [?] for help
frame= 106 fps=0.0 q=10.0 size= 1kB time=00:00:06.94 bitrate= 1.4kbits/s
frame= 150 fps=149 q=14.0 size= 1kB time=00:00:09.87 bitrate= 1.0kbits/s
frame= 191 fps=126 q=16.0 size= 1kB time=00:00:12.61 bitrate= 0.8kbits/s
frame= 244 fps=121 q=16.0 size= 2262kB time=00:00:16.14 bitrate=1147.6kbits/s
frame= 303 fps=120 q=14.0 size= 2262kB time=00:00:20.08 bitrate= 922.2kbits/s
frame= 354 fps=117 q=15.0 size= 3035kB time=00:00:23.48 bitrate=1058.6kbits/s
frame= 402 fps=113 q=15.0 size= 3035kB time=00:00:26.67 bitrate= 932.1kbits/s
frame= 459 fps=113 q=16.0 size= 4041kB time=00:00:30.43 bitrate=1087.7kbits/s
frame= 510 fps=103 q=2686559.0 Lsize= 5755kB time=00:00:33.93 bitrate=1389.3kbits/s
video:5211kB audio:531kB subtitle:0 global headers:0kB muxing overhead 0.235111%
[libx264 @ 02527c60] frame I:6 Avg QP:10.55 size: 25921
[libx264 @ 02527c60] frame P:245 Avg QP:12.15 size: 14543
[libx264 @ 02527c60] frame B:259 Avg QP:15.55 size: 6242
[libx264 @ 02527c60] consecutive B-frames: 6.1% 73.7% 14.7% 5.5%
[libx264 @ 02527c60] mb I I16..4: 19.9% 6.2% 73.9%
[libx264 @ 02527c60] mb P I16..4: 6.0% 0.2% 12.0% P16..4: 35.4% 9.6% 16.3% 7.0% 5.6% skip: 7.8%
[libx264 @ 02527c60] mb B I16..4: 0.7% 0.0% 4.3% B16..8: 27.6% 17.2% 17.0% direct:17.3% skip:15.9% L0:39.4% L1:43.2%
BI:17.4%
[libx264 @ 02527c60] final ratefactor: 11.41
[libx264 @ 02527c60] 8x8 transform intra:1.6% inter:4.0%
[libx264 @ 02527c60] coded y,uvDC,uvAC intra: 93.0% 97.0% 94.9% inter: 58.4% 58.7% 50.6%
[libx264 @ 02527c60] i16 v,h,dc,p: 15% 26% 54% 5%
[libx264 @ 02527c60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 17% 39% 4% 4% 3% 1% 6% 9%
[libx264 @ 02527c60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 34% 21% 4% 2% 2% 2% 2% 5%
[libx264 @ 02527c60] i8c dc,h,v,p: 51% 24% 19% 6%
[libx264 @ 02527c60] Weighted P-Frames: Y:4.1% UV:1.2%
[libx264 @ 02527c60] ref P L0: 68.2% 9.8% 11.0% 5.6% 4.6% 0.8% 0.0%
[libx264 @ 02527c60] ref B L0: 87.7% 8.0% 3.9% 0.4%
[libx264 @ 02527c60] ref B L1: 97.8% 2.2%
[libx264 @ 02527c60] kb/s:1255.36Lastly this is my node code fireing up FFMPEG. (I use the module Fluent-ffmpeg : https://github.com/schaermu/node-fluent-ffmpeg )
var proc = new ffmpeg({ source: movie, nolog: true, timeout:15000})
.addOptions(['-r 15','-b:v 128k','-c:v libx264','-x264opts level=41','-threads 4','-s 640x480','-map 0:v','-map 0:a:0','-c:a mp3','-b:a 160000','-ac 2','-f hls','-hls_time 10','-hls_list_size 6','-hls_wrap 18','-start_number 1 stream.m3u8'])
.writeToStream(res, function(retcode, error){
if (!error){
console.log('file has been converted succesfully',retcode .green);
}else{
console.log('file conversion error',error .red);
}
});So to conclude this very long and code heavy question :
I hope this does not come off as a lazy request, but could someone show/explain to me which FFMPEG settings could/should work on all platforms (modern browsers, Android and iOS) producing a stream of a static file which I can send to a HTML5 player.
[EDIT] what I need if a generic option isn't available
And if this is not possible as some posts might suggest, I would love to see a set of FFMPEG settings that get's the job done properly as far as mp4 streaming is concerned. (e.g encoding a streamable mp4).
The streaming mp4 needs the following
- A shifted moovAtom
- It needs to be h264
Thanks very much for your help !
-
php ming flash swf slideshow to mp4/avi
19 août 2013, par StefanAfter hours of searching and trying i finally got a nice script together that generates a good looking Flash .swf file with a nice transaction in between de images.
It works great if you access the swf file directly in a browser, depending on the amount of images the flash created takes anywhere between 10 and 60 seconds.
But when uploading to Youtube the movie created flashed by in one second.
Because swf isnt really a accepted fileformat for Youtube we decided to convert the flash file to mp4 or avi using ffmpeg.
Unfortunally that didnt work, it had the same effect as the youtube movie.
We had a old version of ffmpeg and updated that to a recent version and tried to convert again with the same result.
The main thing i see is that ffmpeg cant see the swf file duration and bitrate, they are both 'N/A' while were do set them in the php script.
I thought it looked like the Metadata doesnt get written and i cant find anything on that regarding Ming.
But i downloaded a phpclass that extracts the metadata from the swf and that tells me the framerate etc is getting set.Now i have to admit i havent really tested with the new version because the commandline options are a little different but ill work on that after i post this.
In the previous version we tried setting the framerate of the source swf file, but that didnt work either.Anyone here that can has a idea ? it would be greatly appriciated.
PHP Ming Script :
$fps = 30;
foreach($objects as $objectId => $images){
// START FLASH MOVIE
$m = new SWFMovie();
$m->setDimension($width, $height);
$m->setBackground(0, 0, 0);
$m->setRate($fps);
$m->setFrames(count($images)*202); //count(images)* 2 breaks *($fps*$breakTime)+22(fadeOut))
$i = 0;
foreach($images as $image){
// REMOVE THE BACKGROUND IMAGE
if($behind){
$m->remove($behind);
}
// # REMOVE
// LOAD NEW IMAGE
$img = new SWFBitmap(fopen($image,"rb"));
$pic = $m->add($img);
$pic->setdepth(3);
// # LOAD
// BREAK TIME
for($j=1;$j<=($fps*$breakTime);$j++){
$m->nextFrame();
}
$m->remove($pic);
// # BREAK
// LOAD THE NEXT IMAGE AS BACKGROUND, IF LAST IMAGE, LOAD FIRST
$nextBackgrondImage =($images[$i+1]) ? $images[$i+1] : $images[0] ;
$img = new SWFBitmap(fopen($nextBackgrondImage,"rb"));
$behind = $m->add($img);
$behind->setdepth(2);
// # LOAD
// AND FADE OUT AGAIN
$img = fadeOut($image, $width, $height);
$pic = $m->add($img);
$pic->setdepth(3);
// # FADE OUT
// BREAK TIME
for($j=1;$j<=($fps*$breakTime);$j++){
$m->nextFrame();
}
$m->remove($pic);
# BREAK
$i++;
}
$m->save('./flash/'.$nvmId.'_'.$objectId.'.swf');
unset($m);
}
}FFMPEG version :
root@server:~# ffmpeg -version
\FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
built on Aug 15 2013 20:43:21 with gcc 4.4.5
configuration: --enable-libmp3lame --enable-libtheora --enable-libx264
--enable-libgsm --enable-postproc --enable-libxvid --enable-libfaac --enable-pthreads
--enable-libvorbis --enable-gpl --enable-x11grab --enable-nonfree
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
FFmpeg SVN-r26402
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0FFMPEG command
root@server:~# ffmpeg -r 30 -i /pathTo/flash/73003_8962011.swf -r 30 -ar 22050 -b 2048k /pathTo/flash/output.avi
FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
built on Aug 15 2013 20:43:21 with gcc 4.4.5
configuration: --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libgsm --enable-postproc --enable-libxvid
--enable-libfaac --enable-pthreads --enable-libvorbis --enable-gpl --enable-x11grab --enable-nonfree
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
[swf @ 0x1ca1510] Estimating duration from bitrate, this may be inaccurate
Input #0, swf, from '/pathTo/flash/73003_8962011.swf':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: mjpeg, yuvj420p, 360x480, 30 fps, 30 tbr, 30 tbn, 30 tbc
File '/pathTo/output.avi' already exists. Overwrite ? [y/N] y
[buffer @ 0x1cb42d0] w:360 h:480 pixfmt:yuvj420p
[ffsink @ 0x1cb4570] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x1cb4870] w:360 h:480 fmt:yuvj420p -> w:360 h:480 fmt:yuv420p flags:0xa0000004
Output #0, avi, to '/pathTo/flash/output.avi':
Metadata:
ISFT : Lavf52.93.0
Stream #0.0: Video: mpeg4, yuv420p, 360x480, q=2-31, 2048 kb/s, 30 tbn, 30 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
Input Stream #0.0 frame size changed to 640x480, yuvj420p
frame= 39 fps= 0 q=17.5 Lsize= 524kB time=1.30 bitrate=3304.9kbits/s
video:518kB audio:0kB global headers:0kB muxing overhead 1.250735%Metadata :
DEBUG: Data values initialized
DEBUG: Opened ./flash/98701_8965910.swf
DEBUG: Read MAGIC signature: FWS
DEBUG: Read VERSION: 9
DEBUG: Partial SIZE read: 225
DEBUG: Partial SIZE read: 28928
DEBUG: Partial SIZE read: 1441792
DEBUG: Partial SIZE read: 0
DEBUG: Total SIZE: 1470945
DEBUG: RECT field size: 15 bits
DEBUG: RECT binary value: 000000000000000 (0)
DEBUG: RECT binary value: 011001000000000 (640)
DEBUG: RECT binary value: 000000000000000 (0)
DEBUG: RECT binary value: 010010110000000 (480)
DEBUG: Frame rate: 30.0
DEBUG: Frames: 2222
DEBUG: Finished processing ./flash/98701_8965910.swf
FILE: ./flash/98701_8965910.swf
MAGIC: FWS
VERSION: 9
SIZE: 1470945 bytes
WIDHT: 640
HEIGHT: 480
FPS: 30.0 Frames/s
FRAMES: 2222 FRAME