
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (59)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (9276)
-
Undefined reference, using FFMpeg-library (AvCodec) on Ubuntu, 64-bits system
5 mai 2012, par Anders BranderudI am running the example code of the latest FFMpeg-library.
I have inserted the example code into the filevideofecencoder.c
:/*
* copyright (c) 2001 Fabrice Bellard
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#include
#include
#include
#ifdef HAVE_AV_CONFIG_H
#undef HAVE_AV_CONFIG_H
#endif
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavcodec/avcodec.h"
#include "libavutil/mathematics.h"
#include "libavutil/samplefmt.h"
#define INBUF_SIZE 4096
#define AUDIO_INBUF_SIZE 20480
#define AUDIO_REFILL_THRESH 4096
/*
* Video encoding example
*/
static void video_encode_example(const char *filename, int codec_id)
{
AVCodec *codec;
AVCodecContext *c= NULL;
int i, out_size, size, x, y, outbuf_size;
FILE *f;
AVFrame *picture;
uint8_t *outbuf;
int nrOfFramesPerSecond =25;
int nrOfSeconds =1;
printf("Video encoding\n");
/* find the mpeg1 video encoder */
codec = avcodec_find_encoder((CodecID) codec_id);
if (!codec) {
fprintf(stderr, "codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
picture= avcodec_alloc_frame();
/* put sample parameters */
c->bit_rate = 400000;
/* resolution must be a multiple of two */
c->width = 352;
c->height = 288;
/* frames per second */
c->time_base= (AVRational){1,25};
c->gop_size = 10; /* emit one intra frame every ten frames */
c->max_b_frames=1;
c->pix_fmt = PIX_FMT_YUV420P;
if(codec_id == CODEC_ID_H264)
av_opt_set(c->priv_data, "preset", "slow", 0);
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
exit(1);
}
f = fopen(filename, "wb");
if (!f) {
fprintf(stderr, "could not open %s\n", filename);
exit(1);
}
/* alloc image and output buffer */
outbuf_size = 100000;
outbuf = (uint8_t*) malloc(outbuf_size);
/* the image can be allocated by any means and av_image_alloc() is
* just the most convenient way if av_malloc() is to be used */
av_image_alloc(picture->data, picture->linesize,
c->width, c->height, c->pix_fmt, 1);
/* encode 1 second of video */
int nrOfFramesTotal = nrOfFramesPerSecond * nrOfSeconds;
/* encode 1 second of video */
for(i=0;i < nrOfFramesTotal; i++) {
fflush(stdout);
/* prepare a dummy image */
/* Y */
for(y=0;yheight;y++) {
for(x=0;xwidth;x++) {
picture->data[0][y * picture->linesize[0] + x] = x + y + i * 3;
}
}
/* Cb and Cr */
for(y=0;yheight/2;y++) {
for(x=0;xwidth/2;x++) {
picture->data[1][y * picture->linesize[1] + x] = 128 + y + i * 2;
picture->data[2][y * picture->linesize[2] + x] = 64 + x + i * 5;
}
}
/* encode the image */
out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
printf("encoding frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuf, 1, out_size, f);
}
/* get the delayed frames */
for(; out_size; i++) {
fflush(stdout);
out_size = avcodec_encode_video(c, outbuf, outbuf_size, NULL);
printf("write frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuf, 1, out_size, f);
}
/* add sequence end code to have a real mpeg file */
outbuf[0] = 0x00;
outbuf[1] = 0x00;
outbuf[2] = 0x01;
outbuf[3] = 0xb7;
fwrite(outbuf, 1, 4, f);
fclose(f);
free(outbuf);
avcodec_close(c);
av_free(c);
av_free(picture->data[0]);
av_free(picture);
printf("\n");
}
int main(int argc, char **argv)
{
const char *filename;
/* register all the codecs */
avcodec_register_all();
if (argc <= 1) {
video_encode_example("/grb_1.mpg", CODEC_ID_MPEG1VIDEO);
} else {
filename = argv[1];
}
return 0;
}When I run
gcc videofecencoder.cc -lavcodec
I get the following error messages :/tmp/ccJg8IDy.o: In function `video_encode_example(char const*, int)':
videofecencoder.cc:(.text+0x35): undefined reference to `avcodec_find_encoder(CodecID)'
videofecencoder.cc:(.text+0x74): undefined reference to `avcodec_alloc_context3(AVCodec*)'
videofecencoder.cc:(.text+0x7d): undefined reference to `avcodec_alloc_frame()'
videofecencoder.cc:(.text+0x113): undefined reference to `av_opt_set(void*, char const*, char const*, int)'
videofecencoder.cc:(.text+0x12b): undefined reference to `avcodec_open2(AVCodecContext*, AVCodec*, AVDictionary**)'
videofecencoder.cc:(.text+0x1f0): undefined reference to `av_image_alloc(unsigned char**, int*, int, int, PixelFormat, int)'
videofecencoder.cc:(.text+0x35c): undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
videofecencoder.cc:(.text+0x3cf): undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
videofecencoder.cc:(.text+0x47c): undefined reference to `avcodec_close(AVCodecContext*)'
videofecencoder.cc:(.text+0x488): undefined reference to `av_free(void*)'
videofecencoder.cc:(.text+0x497): undefined reference to `av_free(void*)'
videofecencoder.cc:(.text+0x4a3): undefined reference to `av_free(void*)'
/tmp/ccJg8IDy.o: In function `main':
videofecencoder.cc:(.text+0x4c3): undefined reference to `avcodec_register_all()'
collect2: ld returnerade avslutningsstatus 1The command
nm libavcodec.a | grep avcodec_find
results in :00000000000008e0 T avcodec_find_best_pix_fmt
0000000000000740 T avcodec_find_best_pix_fmt2
U avcodec_find_encoder
0000000000002ca0 T avcodec_find_decoder
0000000000002cf0 T avcodec_find_decoder_by_name
0000000000002bd0 T avcodec_find_encoder
0000000000002c30 T avcodec_find_encoder_by_nameI also have another similar error with another library :
Undefined reference despite linking in OpenFEC-libraryMy system : Ubuntu 11, 64-bits machine
My next step is to try to compile it on VirtualBox with Ubuntu 32 bits (running on a Windows-OS).
-
Does ReplayGain work on Opus audio files, too, and how do I apply it ?
8 mars 2023, par finefoot

ReplayGain is a proposed technical standard published by David Robinson in 2001 to measure and normalize the perceived loudness of audio in computer audio formats such as MP3 and Ogg Vorbis.




Does ReplayGain work on audio files encoded with Opus, too ? And what's a command-line solution to apply it ?


-
Problems video playing in some android devices (version 4+) but not in others
5 juin 2014, par anquegifollowing the settings for video in android developers, http://developer.android.com/guide/appendix/media-formats.html I encoded a video using ffmpeg like this :
ffmpeg -i gravityTrailer.mp4 -y -f mp4 -vcodec libx264 -profile:v baseline -acodec aac -strict -2 -profile:a aac_low -b:v 500k -ar 44100 -b:a 128k -ac 2 -r 30 -s 480x360 output_hq.mp4
which corresponds on sd highquality in table 2 from android developers (link above).
Then i put this video in a server and use the class android.media.MediaPlayer to reproduce it from that URL like this
https://cloudapp.somedomain.com/bmftvideos/output_hq.mp4
The problem is that the video is played on android version 4+
you can see the video on :
LG G2,
Sony xperia Syou cannot see the video on :
Samsung galaxy S4,
BQ (spanish) aquaris 4.5And I don not know why
this is the ffmpeg output :
ffmpeg version 1.2.6 Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 5 2014 08:21:01 with gcc 4.8.2 (GCC) 20131212 (Red Hat 4.8.2-7)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x14e5ba0] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x14e5ba0] max_analyze_duration 5000000 reached at 5013333 microseconds
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'gravityTrailer.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2013-12-01 03:59:56
genre : Trailer
artist : Warner Bros.
title : Gravity - 2K Trailer
encoder : HandBrake 0.9.9 2013051800
date : 2013
Duration: 00:02:27.07, start: 0.000000, bitrate: 20296 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 2048x858, 20149 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Metadata:
creation_time : 2013-12-01 03:59:56
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 153 kb/s
Metadata:
creation_time : 2013-12-01 03:59:56
Stream #0:2: Video: mjpeg, yuvj420p, 102x150 [SAR 72:72 DAR 17:25], 90k tbr, 90k tbn, 90k tbc
[libx264 @ 0x1667680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1667680] profile Constrained Baseline, level 3.0
[libx264 @ 0x1667680] 264 - core 130 r2282 1db4621 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output_hq.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
date : 2013
genre : Trailer
artist : Warner Bros.
title : Gravity - 2K Trailer
encoder : Lavf54.63.104
Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 480x360, q=-1--1, 500 kb/s, 15360 tbn, 30 tbc
Metadata:
creation_time : 2013-12-01 03:59:56
Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
creation_time : 2013-12-01 03:59:56
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> aac)
Press [q] to stop, [?] for help
frame= 4410 fps= 65 q=-1.0 Lsize= 11154kB time=00:02:27.07 bitrate= 621.3kbits/s dup=885 drop=0
video:9062kB audio:1969kB subtitle:0 global headers:0kB muxing overhead 1.115392%
[libx264 @ 0x1667680] frame I:186 Avg QP:28.41 size: 4446
[libx264 @ 0x1667680] frame P:4224 Avg QP:29.20 size: 2001
[libx264 @ 0x1667680] mb I I16..4: 75.5% 0.0% 24.5%
[libx264 @ 0x1667680] mb P I16..4: 7.5% 0.0% 3.6% P16..4: 23.1% 6.2% 1.8% 0.0% 0.0% skip:57.7%
[libx264 @ 0x1667680] final ratefactor: 27.96
[libx264 @ 0x1667680] coded y,uvDC,uvAC intra: 24.0% 31.9% 8.6% inter: 7.4% 7.6% 0.6%
[libx264 @ 0x1667680] i16 v,h,dc,p: 58% 15% 13% 14%
[libx264 @ 0x1667680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 9% 27% 7% 6% 8% 5% 7% 3%
[libx264 @ 0x1667680] i8c dc,h,v,p: 80% 7% 12% 2%
[libx264 @ 0x1667680] ref P L0: 84.7% 9.4% 5.9%
[libx264 @ 0x1667680] kb/s:504.98