
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (68)
-
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 ) (...) -
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 (7426)
-
FFmpeg - mapping 4 audio channels to 1 audio track
18 juillet 2016, par AvalonI have two QT MOV’s that I want to concatenate using FFmpeg, but I am having trouble understanding how to map the audio channels.
First MOV has 2 channels, Front Left and Front Right. Second MOV has 4 channels, Front Left, Front Right, Side Left and Side Right.
How do I create 1 audio track with 4 channels mapped as FL, FR, SL and SR ?
MediaInfo reports the following (not desired result) :
Audio #1
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 4mn 35s
Bit rate mode : Variable
Bit rate : 126 Kbps
Maximum bit rate : 160 Kbps
Channel(s) : 2 channels
Channel(s)_Original : 4 channels
Channel positions : Front: L C R, Side: C
Sampling rate : 48.0 KHz
Frame rate : 46.875 fps (1024 spf)
Compression mode : Lossy
Stream size : 4.14 MiB (12%)
Default : Yes
Alternate group : 1
Audio #2
ID : 3
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 4mn 35s
Bit rate mode : Variable
Bit rate : 127 Kbps
Maximum bit rate : 160 Kbps
Channel(s) : 2 channels
Channel(s)_Original : 4 channels
Channel positions : Front: L C R, Side: C
Sampling rate : 48.0 KHz
Frame rate : 46.875 fps (1024 spf)
Compression mode : Lossy
Stream size : 4.18 MiB (12%)
Default : No
Alternate group : 1
Audio #3
ID : 4
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 4mn 35s
Bit rate mode : Variable
Bit rate : 110 Kbps
Maximum bit rate : 160 Kbps
Channel(s) : 2 channels
Channel(s)_Original : 4 channels
Channel positions : Front: L C R, Side: C
Sampling rate : 48.0 KHz
Frame rate : 46.875 fps (1024 spf)
Compression mode : Lossy
Stream size : 3.62 MiB (10%)
Default : No
Alternate group : 1
Audio #4
ID : 5
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 4mn 35s
Bit rate mode : Variable
Bit rate : 110 Kbps
Maximum bit rate : 160 Kbps
Channel(s) : 2 channels
Channel(s)_Original : 4 channels
Channel positions : Front: L C R, Side: C
Sampling rate : 48.0 KHz
Frame rate : 46.875 fps (1024 spf)
Compression mode : Lossy
Stream size : 3.61 MiB (10%)
Default : No
Alternate group : 1FFmpeg command is as follows :
`ffmpeg -i "2chan.mov" -i "4chan.mov" -filter_complex "[0:v] [0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]; [v]scale=-1:288[v2]; [a]channelsplit=channel_layout=quad(side)[FL][FR][SL][SR]" -map "[v2]" -map "[FL]" -map "[FR]" -map "[SL]" -map "[SR]" -c:v libx264 -pix_fmt yuv420p -b:v 700k -minrate 700k -maxrate 700k -bufsize 700k -r 25 -sc_threshold 25 -keyint_min 25 -g 25 -qmin 3 -qmax 51 -threads 8 -c:a aac -strict -2 -b:a 160k -ar 48000 -async 1 -ac 4 combined.mp4`
Console output :
ffmpeg version N-77883-gd7c75a5 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --
enable-lzma --enable-decklink --enable-zlib
libavutil 55. 13.100 / 55. 13.100
libavcodec 57. 22.100 / 57. 22.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 25.100 / 6. 25.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000575c00] ignoring 'frma' atom of 'mp4a', str
eam format is 'mp4a'
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2chan.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2016-01-19 05:48:38
Duration: 00:00:45.00, start: 0.000000, bitrate: 364 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte1
70m/smpte170m/bt709), 768x576, 196 kb/s, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 25 tbn
, 50 tbc (default)
Metadata:
creation_time : 2016-01-19 05:48:40
handler_name : Apple Alias Data Handler
encoder : H.264
timecode : 00:00:00:00
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, flt
p, 159 kb/s (default)
Metadata:
creation_time : 2016-01-19 05:48:42
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2016-01-19 05:49:42
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000005da420] ignoring 'frma' atom of 'mp4a', str
eam format is 'mp4a'
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '4chan.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2016-01-19 04:11:52
Duration: 00:19:58.00, start: 0.000000, bitrate: 5118 kb/s
Stream #1:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte1
70m/smpte170m/bt709), 768x576, 4955 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (defa
ult)
Metadata:
creation_time : 2016-01-19 04:11:52
handler_name : Apple Alias Data Handler
encoder : H.264
timecode : 00:28:33:21
Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, quad, fltp,
157 kb/s (default)
Metadata:
creation_time : 2016-01-19 04:11:52
handler_name : Apple Alias Data Handler
Stream #1:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
rotate : 0
creation_time : 2016-01-19 04:11:52
handler_name : Apple Alias Data Handler
timecode : 00:28:33:21
File 'Output_Complex_6.mp4' already exists. Overwrite ? [y/N] y
-async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.
100000:first_pts=0.
Last message repeated 1 times
[libx264 @ 000000000057d260] using SAR=1/1
[libx264 @ 000000000057d260] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
SlowShuffle
[libx264 @ 000000000057d260] profile High, level 2.1
[libx264 @ 000000000057d260] 264 - core 148 r2638 7599210 - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 r
ef=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_pski
p=1 chroma_qp_offset=-2 threads=8 lookahead_threads=1 sliced_threads=0 nr=0 deci
mate=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=25 keyint_min=13
scenecut=25 intra_refresh=0 rc_lookahead=25 rc=cbr mbtree=1 bitrate=700 ratetol
=1.0 qcomp=0.60 qpmin=3 qpmax=51 qpstep=4 vbv_maxrate=700 vbv_bufsize=700 nal_hr
d=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Output_Complex_6.mp4':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
title : TestTitle
encoder : Lavf57.21.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 384x28
8 [SAR 1:1 DAR 4:3], q=3-51, 700 kb/s, 25 fps, 12800 tbn, 25 tbc (default)
Metadata:
encoder : Lavc57.22.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, 4.0, fltp,
160 kb/s
Metadata:
encoder : Lavc57.22.100 aac
Stream #0:2: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, 4.0, fltp,
160 kb/s
Metadata:
encoder : Lavc57.22.100 aac
Stream #0:3: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, 4.0, fltp,
160 kb/s
Metadata:
encoder : Lavc57.22.100 aac
Stream #0:4: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, 4.0, fltp,
160 kb/s
Metadata:
encoder : Lavc57.22.100 aac
Stream mapping:
Stream #0:0 (h264) -> concat:in0:v0
Stream #0:1 (aac) -> concat:in0:a0
Stream #1:0 (h264) -> concat:in1:v0
Stream #1:1 (aac) -> concat:in1:a0
scale -> Stream #0:0 (libx264)
channelsplit:FL -> Stream #0:1 (aac)
channelsplit:FR -> Stream #0:2 (aac)
channelsplit:SL -> Stream #0:3 (aac)
channelsplit:SR -> Stream #0:4 (aac)
Press [q] to stop, [?] for help
frame= 85 fps=0.0 q=3.0 size= 6kB time=00:00:02.68 bitrate= 18.8kbits/s
frame= 150 fps=148 q=3.0 size= 14kB time=00:00:05.24 bitrate= 21.3kbits/s
frame= 198 fps=130 q=3.0 size= 65kB time=00:00:07.21 bitrate= 74.4kbits/s
frame= 238 fps=118 q=3.0 size= 125kB time=00:00:08.78 bitrate= 116.2kbits/s
frame= 271 fps=108 q=3.0 size= 171kB time=00:00:10.09 bitrate= 138.9kbits/s
frame= 304 fps=100 q=3.0 size= 218kB time=00:00:11.45 bitrate= 156.0kbits/s
frame= 339 fps= 96 q=3.0 size= 268kB time=00:00:12.84 bitrate= 171.0kbits/s
frame= 372 fps= 93 q=-1.0 Lsize= 376kB time=00:00:14.80 bitrate= 208.0kbits
/s speed=3.69x
video:27kB audio:319kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 8.551113%
[libx264 @ 000000000057d260] frame I:15 Avg QP: 3.01 size: 1370
[libx264 @ 000000000057d260] frame P:90 Avg QP: 3.00 size: 24
[libx264 @ 000000000057d260] frame B:267 Avg QP: 3.00 size: 17
[libx264 @ 000000000057d260] consecutive B-frames: 4.3% 0.0% 0.0% 95.7%
[libx264 @ 000000000057d260] mb I I16..4: 95.8% 0.0% 4.2%
[libx264 @ 000000000057d260] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.1% 0.0
% 0.0% 0.0% 0.0% skip:99.9%
[libx264 @ 000000000057d260] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% 0.0
% 0.0% direct: 0.0% skip:100.0% L0: 0.0% L1:100.0% BI: 0.0%
[libx264 @ 000000000057d260] 8x8 transform intra:0.0% inter:50.0%
[libx264 @ 000000000057d260] coded y,uvDC,uvAC intra: 3.1% 8.8% 8.2% inter: 0.0%
0.0% 0.0%
[libx264 @ 000000000057d260] i16 v,h,dc,p: 90% 5% 5% 0%
[libx264 @ 000000000057d260] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 46% 29% 23% 0% 0%
0% 0% 0% 0%
[libx264 @ 000000000057d260] i8c dc,h,v,p: 76% 7% 17% 0%
[libx264 @ 000000000057d260] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000000000057d260] kb/s:14.64
[aac @ 0000000000578320] Qavg: 65394.652
[aac @ 0000000000593020] Qavg: 65473.359
[aac @ 0000000000593940] Qavg: 65536.000
[aac @ 0000000000594260] Qavg: 65536.000
Exiting normally, received signal 2.
Terminate batch job (Y/N)? Y -
How to increase the audio length using FFMPEG ?
22 janvier 2016, par Rama LingamI have the MP3 audio file
output.mp3
with00:00:01
length.
I want to convert the audio file tooutput_test.mp3
with00:00:50
length.
The audio file should be play repeat at end of length00:00:50
. How to do it ?$imgDir = 'upload/2016/01/tmp_81332';
$ffmpeg = '/usr/bin/ffmpeg';
// Convert Audio Length Path
$convAudioPath = $imgDir."/output.mp3";
$convAudioPath_test = $imgDir."/output_test.mp3";
exec("$ffmpeg -i $convAudioPath -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:00:50.000 $convAudioPath_test");Advise any idea !
-
Audio and video pts is not sync ffmpeg
12 septembre 2016, par Eugene AlexeevI’m trying to write some sort of RTSP iOS streamer which based on ffMpeg project. Basically, I’ve got the project from https://github.com/durfu/DFURTSPPlayer. Big thanks to creator of this project, but unfortunately it has problems with playing of streams so I decided to write streaming player by myself using some author’s developments.
Of course, for correctly stream playing I need to sync audio with video and I can do it by comparing pts of frames. But the problem is in the huge gap between audio and video pts. I have thoughts that I’m getting pts for audio and video wrong, but I couldn’t find the actual problem by my own. Here’s the function :
- (void) decodeFrame
{
int frameFinished = 0;
AVPacket newPacket;
while (frameFinished == 0 && av_read_frame(formatCtx, &newPacket) >= 0)
{
if (newPacket.stream_index == videoStream)
{
avcodec_decode_video2(videoCodecCtx, videoFrame, &frameFinished, &newPacket);
[self convertFrameToRGB];
UIImage *newImage = [self currentImage];
if (newPacket.pts != AV_NOPTS_VALUE) {
newPacket.pts += av_rescale_q(0, AV_TIME_BASE_Q, formatCtx->streams[audioStream]->time_base);
}
unsigned long tempVideoPts = newPacket.pts;
double presentTime = tempVideoPts * av_q2d(formatCtx->streams[videoStream]->time_base);
[_ZFbuffer addNewImage:newImage withPts:tempVideoPts withPresentTime:presentTime];
NSLog(@"tempVideoPts = %lu", tempVideoPts);
}
else if (newPacket.stream_index == audioStream)
{
NSMutableData *soundData = [[NSMutableData alloc] initWithBytes:newPacket.data length:newPacket.size];
if (newPacket.pts != AV_NOPTS_VALUE) {
newPacket.pts += av_rescale_q(0, AV_TIME_BASE_Q, formatCtx->streams[audioStream]->time_base);
}
unsigned long tempAudioPts = newPacket.pts;
double presentTime = tempAudioPts * av_q2d(formatCtx->streams[audioStream]->time_base);
[_ZFbuffer addNewSound:soundData withPts:tempAudioPts withPresentTime:presentTime];
NSLog(@"tempAudioPts = %lu", tempAudioPts);
}
av_free_packet(&newPacket);
if(!streamIsPlaying && [_ZFbuffer bufferedTime:formatCtx->streams[audioStream]->time_base] > 2.0f) {
streamIsPlaying = YES;
//launch audio translation
if (emptyAudioBuffer != nil) {
[self unpackNextSound:emptyAudioBuffer];
}
}
}
}I was expecting that pts will be more or less equal, but here’s my log
2016-01-05 22:03:03.918 DFURTSPPlayer[1569:76194] tempVideoPts = 180000
2016-01-05 22:03:03.959 DFURTSPPlayer[1569:76194] tempVideoPts = 183780
2016-01-05 22:03:04.001 DFURTSPPlayer[1569:76194] tempVideoPts = 187470
2016-01-05 22:03:04.042 DFURTSPPlayer[1569:76194] tempAudioPts = 58368
2016-01-05 22:03:04.042 DFURTSPPlayer[1569:76194] tempVideoPts = 191250
2016-01-05 22:03:04.084 DFURTSPPlayer[1569:76194] tempVideoPts = 195030
2016-01-05 22:03:04.126 DFURTSPPlayer[1569:76194] tempAudioPts = 59392
2016-01-05 22:03:04.126 DFURTSPPlayer[1569:76194] tempVideoPts = 198720
2016-01-05 22:03:04.168 DFURTSPPlayer[1569:76194] tempVideoPts = 202500
2016-01-05 22:03:04.209 DFURTSPPlayer[1569:76194] tempVideoPts = 206280
2016-01-05 22:03:04.250 DFURTSPPlayer[1569:76194] tempAudioPts = 60416
2016-01-05 22:03:04.250 DFURTSPPlayer[1569:76194] tempAudioPts = 61440
2016-01-05 22:03:04.251 DFURTSPPlayer[1569:76194] tempVideoPts = 209970
2016-01-05 22:03:04.292 DFURTSPPlayer[1569:76194] tempVideoPts = 213750
2016-01-05 22:03:04.334 DFURTSPPlayer[1569:76194] tempAudioPts = 62464
2016-01-05 22:03:04.335 DFURTSPPlayer[1569:76194] tempVideoPts = 217530
2016-01-05 22:03:04.375 DFURTSPPlayer[1569:76194] tempVideoPts = 221220
2016-01-05 22:03:04.417 DFURTSPPlayer[1569:76194] tempAudioPts = 63488
2016-01-05 22:03:04.418 DFURTSPPlayer[1569:76194] tempVideoPts = 225000
2016-01-05 22:03:04.459 DFURTSPPlayer[1569:76194] tempVideoPts = 228780
2016-01-05 22:03:04.501 DFURTSPPlayer[1569:76194] tempVideoPts = 232470
2016-01-05 22:03:04.541 DFURTSPPlayer[1569:76194] tempAudioPts = 64512
2016-01-05 22:03:04.542 DFURTSPPlayer[1569:76194] tempVideoPts = 236250
2016-01-05 22:03:04.584 DFURTSPPlayer[1569:76194] tempVideoPts = 240030
2016-01-05 22:03:04.626 DFURTSPPlayer[1569:76194] tempAudioPts = 65536
2016-01-05 22:03:04.626 DFURTSPPlayer[1569:76194] tempVideoPts = 243720
2016-01-05 22:03:04.668 DFURTSPPlayer[1569:76194] tempVideoPts = 247500
2016-01-05 22:03:04.709 DFURTSPPlayer[1569:76194] tempVideoPts = 251280
2016-01-05 22:03:04.750 DFURTSPPlayer[1569:76194] tempAudioPts = 66560
2016-01-05 22:03:04.750 DFURTSPPlayer[1569:76194] tempVideoPts = 254970
2016-01-05 22:03:04.792 DFURTSPPlayer[1569:76194] tempVideoPts = 258750
2016-01-05 22:03:04.834 DFURTSPPlayer[1569:76194] tempAudioPts = 67584
2016-01-05 22:03:04.834 DFURTSPPlayer[1569:76194] tempAudioPts = 68608If anybody was facing this problem please help me out. I understand that I’m missing something but I can’t understand what exactly. Appreciate for your time and help.