
Recherche avancée
Médias (91)
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
Autres articles (70)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
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
Sur d’autres sites (11116)
-
x264 configure linking and building problems
16 janvier 2014, par PieI am trying to build x264 from source on Ubuntu 32bit in order to convert a sequence of jpg or png images into mp4 video : x264 site, sample images
The downloaded binaries is able to convert the sequence into an mkv video (or few other formats) when I run this command :
./x264dist ~/Dev/x264emp/img/FLYOVER%4d.JPG -o abc.mkv
x264dist
is the renamed name of the binary I download from the site.However, when I grab the source and compile with simple configure :
$ ./configure --enable-shared --enable-static --enable-pic
platform: X86
system: LINUX
cli: yes
libx264: internal
shared: yes
static: yes
asm: yes
interlaced: yes
avs: avxsynth
lavf: no
ffms: no
mp4: no
gpl: yes
thread: posix
opencl: yes
filters: crop select_every
debug: no
gprof: no
strip: no
PIC: yes
bit depth: 8
chroma format: allthen
$ make
. Then I use the binaries to run the exactly same command as above but there is this error :./x264 ~/Dev/x264emp/img/FLYOVER%4d.JPG -o abc.mkv
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `/home/tmd/Dev/x264emp/img/FLYOVER%4d.JPG' via any method!It seems like it can’t read any input at all. But at least I am still able to run
--help
on that binaries.Then I realized that the downloaded binaries is
3.5Mb
while my custom compilation results in1.5Mb
binaries.So I just want to know what are the build configurations used by the official build, and/or is there any dependency I am missing that leads to this problem.
The reason I am trying to build myself because I want to port the x264 lib into Javascript using Emscripten. There has been a solution using FFmpeg but it seems like I don’t need the whole video processing library but only a simple H264 codec. So I need to solve the configure/compile/linking problem to port it rightly.
Possibly similar How to configure X264 build before running make on OS X
-
FFmpeg realtime volume changing with C API
9 janvier 2019, par Tank2006My environment is FFmpeg 4.1(Prebuild package from an official site) on Windows 10/Visual Studio 2017.
I want to change an audio volume as realtime according to a volume button operation from media player apps.
Think simply, it will update if AVFilter parameters changes, but it seems doesn’t work.
const char src[] = "C:\\sample.mp3";
AVFilterGraph *graph = NULL;
AVFilterContext *ctx_src, *ctx_sink;
AVFilter *ctx_vol;
int main()
{
int res;
AVPacket *packet = av_packet_alloc();
AVFrame *frame = av_frame_alloc();
AVFrame *fframe = av_frame_alloc();
AVCodec *codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
AVCodecParser *parser = av_parser_init(codec->id);
AVCodecContext *cc = avcodec_alloc_context3(codec);
avcodec_open2(cc, codec, NULL);
FILE *fp; uint8_t buffer[1024]; int filterinit = 0;
fopen_s(&fp, src, "rb");
while (feof(fp) == 0) {
int read = fread(buffer, 1, 1024, fp);
res = av_parser_parse2(parser, cc, &packet->data, &packet->size,
buffer, read, AV_NOPTS_VALUE, AV_NOPTS_VALUE, 0);
if (packet->size) {
res = avcodec_send_packet(cc, packet);
while (res >= 0) {
res = avcodec_receive_frame(cc, frame);
if (res == AVERROR(EAGAIN) || res == AVERROR_EOF) {
break;
} else if (res < 0) {
fprintf(stderr, "Error during decoding\n");
exit(1);
}
if (filterinit == 0) {
// Create a volume filter, links and graph from AVCodecContext's parameter
if(init_filters(cc)) filterinit = 1;
}
if (filterinit == 1) {
res = av_buffersrc_add_frame(ctx_src, frame);
if(av_buffersink_get_frame(ctx_sink, frame) >= 0) {
// Change the volume realtime
av_opt_set(ctx_vol, "volume", AV_STRINGIFY(1.2), AV_OPT_SEARCH_CHILDREN);
int datasize = av_get_bytes_per_sample(cc->sample_fmt);
for (int i = 0; i < frame->nb_samples; i++) {
for (int ch = 0; ch < cc->channels; ch++) {
//fwrite(frame->data[ch] + data_size * i, 1, data_size, outfile);
}
}
}
}
}
}
}
fclose(fp);
avcodec_free_context(&cc);
av_parser_close(parser);
av_frame_free(&frame);
av_frame_free(&fframe);
av_packet_free(&packet);
avfilter_graph_free(&graph);
return 0;
}Can I change the filter value in realtime with FFmpeg’s C API or I need to create a new filter link each time when it requires to update ?
-
ffmpeg trim mp3 - determine precisely the start and end times of section to be trimmed
4 février 2019, par Ahmed KhalilI have a long mp3 track of an audio book (more than 9 hours long) that I would like to trim using ffmpeg.
The sample code below is used to trim an mp3 section by providing the start and end times. However, when I determine the start and end times, then checking the output file, it’s not as precisely as I want, sometimes several minutes ahead/before the desired point.
import subprocess
file = r'audio book.mp3'
track_name = "trimmed section"
output = r'D:\{0}'.format(track_name)
start = '01:26:04'
end = '01:33:17'
d = subprocess.getoutput('ffmpeg -i "{0}" -ss {1} -to {2} -c copy {3}.mp3"'
.format(file, start, end, output))
print(d)Is there a way to determine with accuracy the real start and end time of an mp3 audio track, to be given afterwards as inputs to the code...to trim the desired sections all at once, without the need to adjust/fine-tune the start and end time manually ??