
Recherche avancée
Autres articles (36)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (5951)
-
play MPD file of mpeg-dash on android and IOS
8 février 2017, par user3223551I have used ffmpeg to create a MPD file for my video, and I could play and watch it on my pc using :http://dashplayer.azurewebsites.net/
now I want to make sure it works and plays appropriately on andoid and IOS, could anyone tell me how to test this file on android and IOS ?
-
ffmpeg `avformat_write_header` fail with -22 Invalid arg
3 février 2017, par user998953I am having an error with FFMPEG. Here is my code :
static int open_output_file(const char *filename) {
AVStream *out_stream;
AVStream *in_stream;
AVCodecContext *dec_ctx, *enc_ctx;
AVCodec *encoder;
int ret;
unsigned int i;
ofmt_ctx = NULL;
avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, filename);
if (!ofmt_ctx) {
LOGD(NULL, AV_LOG_ERROR, "Could notcreate output context\n");
return AVERROR_UNKNOWN;
}
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
out_stream = avformat_new_stream(ofmt_ctx, NULL);
if (!out_stream) {
LOGD(NULL, AV_LOG_ERROR, "Failed allocating output stream\n");
return AVERROR_UNKNOWN;
}
in_stream = ifmt_ctx->streams[i];
dec_ctx = in_stream->codec;
enc_ctx = out_stream->codec;
if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO
|| dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
/* in this example, we choose transcoding to same codec */
encoder = avcodec_find_encoder(dec_ctx->codec_id);
enc_ctx = avcodec_alloc_context3(encoder);
if (!encoder) {
LOGE("encoder not avalibe ");
return -1;
}
/* In this example, we transcode to same properties(picture size,
* sample rate etc.). These properties can be changed for output
* streams easily using filters */
if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
enc_ctx->height = dec_ctx->height;
enc_ctx->width = dec_ctx->width;
enc_ctx->sample_aspect_ratio = dec_ctx->sample_aspect_ratio;
/* take first format from list of supported formats */
enc_ctx->pix_fmt = encoder->pix_fmts[0];
/* video time_base can be set to whatever is handy andsupported by encoder */
enc_ctx->time_base = dec_ctx->time_base;
} else {
enc_ctx->sample_rate = dec_ctx->sample_rate;
enc_ctx->channel_layout = dec_ctx->channel_layout;
enc_ctx->channels = av_get_channel_layout_nb_channels(enc_ctx->channel_layout);
/* take first format from list of supported formats */
enc_ctx->sample_fmt = encoder->sample_fmts[0];
AVRational time_base = {1, enc_ctx->sample_rate};
enc_ctx->time_base = time_base;
}
/* Third parameter can be used to pass settings to encoder*/
ret = avcodec_open2(enc_ctx, encoder, NULL);
if (ret < 0) {
LOGD("Cannot openvideo encoder for stream #%u\n", i);
return ret;
}
} else if (dec_ctx->codec_type == AVMEDIA_TYPE_UNKNOWN) {
LOGE("Elementarystream #%d is of unknown type, cannot proceed\n",
i);
return AVERROR_INVALIDDATA;
} else {
/* if this stream must be remuxed */
ret = avcodec_copy_context(ofmt_ctx->streams[i]->codec,
ifmt_ctx->streams[i]->codec);
if (ret < 0) {
LOGE("Copyingstream context failed\n");
return ret;
}
}
if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
}
av_dump_format(ofmt_ctx, 0, filename, 1);
if (!(ofmt_ctx->oformat->flags & AVFMT_NOFILE)) {
ret = avio_open(&ofmt_ctx->pb, filename, AVIO_FLAG_WRITE);
if (ret < 0) {
LOGE("Could not open output file '%s'", filename);
return ret;
}
}
ret = avformat_write_header(ofmt_ctx, NULL); //wrong here
if (ret < 0) {
char buf[1024] = {0};
av_strerror(ret, buf, 1024);
LOGE("Error occurred when opening output file : %s\n", buf);
return ret;
}
return 0;
}Here is the ffmpeg log. Pay close attention to the error I am getting which is :
Error occurred when opening output file : Invalid argument
Here is the rest of it :
02-03 18:09:44.120 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xebf33e00] After avformat_find_stream_info() pos: 680796 bytes read:308417 seeks:1 frames:48
02-03 18:09:44.120 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [h264 @ 0xea72cc00] nal_unit_type: 7, nal_ref_idc: 3
02-03 18:09:44.120 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [h264 @ 0xea72cc00] nal_unit_type: 8, nal_ref_idc: 3
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/sdcard/test2.mp4':
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Metadata:
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: major_brand :
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: mp42
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: minor_version :
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 0
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: compatible_brands:
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: isommp42
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: creation_time :
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 2017-01-23T08:22:57.000000Z
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: com.android.version:
02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 6.0.1
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Duration:
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 00:00:07.74
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , start:
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 0.000000
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , bitrate:
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 14377 kb/s
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Stream #0:0
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: (eng)
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 1, 1/90000
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720, 13892 kb/s
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , SAR 1:1 DAR 16:9
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: ,
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 30.02 fps,
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 30 tbr,
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 90k tbn,
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 60.04 tbc
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: (default)
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Metadata:
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: rotate :
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 90
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: creation_time :
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 2017-01-23T08:22:57.000000Z
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: handler_name :
02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: VideoHandle
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Side data:
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: displaymatrix: rotation of -90.00 degrees
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Stream #0:1
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: (eng)
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 47, 1/48000
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: (default)
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Metadata:
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: creation_time :
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 2017-01-23T08:22:57.000000Z
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: handler_name :
02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: SoundHandle
02-03 18:09:44.124 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [libx264 @ 0xdbf3dc00] using mv_range_thread = 56
02-03 18:09:44.126 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [libx264 @ 0xdbf3dc00] using cpu capabilities: none!
02-03 18:09:44.197 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [libx264 @ 0xdbf3dc00] profile High, level 4.0
02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Output #0, mp4, to '/sdcard/test3.mp4':
02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Stream #0:0
02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 0, 0/0
02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Unknown: none
02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Stream #0:1
02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 0, 0/0
02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Unknown: none
02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [file @ 0xdbdc71e0] Setting default whitelist 'file,crypto'
02-03 18:09:44.201 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [mp4 @ 0xebf3a800] Could not find tag for codec none in stream #0, codec not currently supported in container
02-03 18:09:44.201 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Error occurred when opening output file : Invalid argument -
FFmpeg - Concat videos with different time base
21 janvier 2017, par XysI’m trying to concat videos with the concat demuxer, but it does not work when using one video ("video2.mp4" below). By does not work, I mean playing the concatenated video on a player will work until the second video part starts (it just cannot read the video anymore). It works with the concat filter though. They are both mp4 videos, so I think it’s because of the time base ? I can concat other videos with the concat demuxer and it works fine (even with different resolutions/bitrate). It only happens when trying to concat "video2.mp4".
Also, I have a lot of warning/errors like this, probably when ffmpeg starts concatenating the 2nd video :
[mp4 @ 0x7f847a814800] Non-monotonous DTS in output stream 0:0; previous: 906906, current: 302359; changing to 906907. This may result in incorrect timestamps in the output file.
What would be the best way to have a minimum concat time ? Do I really need to use the concat filter or can I change the time base of "video1.mp4" if it’s really the problem ?
Any help would be appreciated, thanks !
Video 1 :
ffprobe version 3.2.2 Copyright (c) 2007-2016 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video1.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2016-08-17T22:50:35.000000Z
Duration: 00:00:10.11, start: 0.000000, bitrate: 38018 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1696x848, 37832 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2016-08-18T00:02:24.000000Z
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2016-08-18T00:02:24.000000Z
handler_name : SoundHandleVideo 2 :
ffprobe version 3.2.2 Copyright (c) 2007-2016 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video2.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2017-01-06T22:30:23.000000Z
Duration: 00:00:08.19, start: 0.000000, bitrate: 101474 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 4096x2048 [SAR 1:1 DAR 2:1], 101549 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2017-01-06T22:30:23.000000Z
handler_name : ?Mainconcept Video Media Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2017-01-06T22:30:23.000000Z
handler_name : #Mainconcept MP4 Sound Media HandlerFFMpeg Command :
ffmpeg -f concat -safe 0 -i concat.txt -c copy result.mp4
concat.txt :
file '/path/to/video1.mp4'
file '/path/to/video2.mp4'Command result :
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbd8b808c00] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'concat.txt':
Duration: N/A, start: 0.000000, bitrate: 38021 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1696x848, 37832 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc
Metadata:
creation_time : 2016-08-18T00:02:24.000000Z
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s
Metadata:
creation_time : 2016-08-18T00:02:24.000000Z
handler_name : SoundHandle
Output #0, mp4, to 'result.mp4':
Metadata:
encoder : Lavf57.56.100
Stream #0:0(eng): Video: h264 (Baseline) ([33][0][0][0] / 0x0021), yuv420p, 1696x848, q=2-31, 37832 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
Metadata:
creation_time : 2016-08-18T00:02:24.000000Z
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 189 kb/s
Metadata:
creation_time : 2016-08-18T00:02:24.000000Z
handler_name : SoundHandle
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 112 fps=0.0 q=-1.0 size= 12701kB time=00:00:03.70 bitrate=28092.2kbits/s speed= 7.4x
frame= 151 fps=151 q=-1.0 size= 18853kB time=00:00:05.00 bitrate=30857.5kbits/s speed= 5x
frame= 224 fps=149 q=-1.0 size= 30042kB time=00:00:07.44 bitrate=33074.8kbits/s speed=4.95x
frame= 268 fps=134 q=-1.0 size= 36596kB time=00:00:08.90 bitrate=33650.8kbits/s speed=4.44x
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbd8a808000] Auto-inserting h264_mp4toannexb bitstream filter.9x
[mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:1; previous: 484352, current: 445939; changing to 484353. This may result in incorrect timestamps in the output file.
[concat @ 0xb545c400] DTS 304057 < 906906 out of order
[mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:0; previous: 906906, current: 304057; changing to 906907. This may result in incorrect timestamps in the output file.
[mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:1; previous: 484353, current: 446963; changing to 484354. This may result in incorrect timestamps in the output file.
...
... like 100 DTS errors ...
...
[mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:0; previous: 907150, current: 548301; changing to 907151. This may result in incorrect timestamps in the output file.
frame= 548 fps=169 q=-1.0 Lsize= 148399kB time=00:00:18.28 bitrate=66493.7kbits/s speed=5.64x
video:148027kB audio:359kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.008622%Thank you in advance !