
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (66)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (10242)
-
Using libav to encode RGBA frames into MP4 but the output is a mess
5 octobre 2019, par Cu2SI’m trying to decode a video into RGB frames, and then postprocess the frames, finally encode the frames into a video. But the output video is completely a mess :
I wrote a minimal example to illustrate my idea. First, I read some information from some source video :
AVFormatContext* inputFormatCtx = nullptr;
int ret = avformat_open_input(&inputFormatCtx, inputParamsVideo, nullptr, nullptr);
assert(ret >= 0);
ret = avformat_find_stream_info(inputFormatCtx, NULL);
av_dump_format(inputFormatCtx, 0, inputParamsVideo, 0);
assert(ret >= 0);
AVStream* inputVideoStream = nullptr;
for (int i = 0; i < inputFormatCtx->nb_streams; i++)
{
const auto inputStream = inputFormatCtx->streams[i];
if (inputStream->codec->codec_type == AVMEDIA_TYPE_VIDEO)
{
inputVideoStream = inputStream;
break;
}
}
assert(inputVideoStream != nullptr);
AVCodecParameters* inputParams = inputVideoStream->codecpar;
AVRational framerate = inputVideoStream->codec->framerate;
auto gop_size = inputVideoStream->codec->gop_size;
auto maxBFrames = inputVideoStream->codec->max_b_frames;Then I assign the information to the output stream :
AVFormatContext *outputAVFormat = nullptr;
avformat_alloc_output_context2(&outputAVFormat, nullptr, nullptr, kOutputPath);
assert(outputAVFormat);
AVCodec* codec = avcodec_find_encoder(outputAVFormat->oformat->video_codec);
assert(codec);
AVCodecContext* encodingCtx = avcodec_alloc_context3(codec);
avcodec_parameters_to_context(encodingCtx, inputParams);
encodingCtx->time_base = av_inv_q(framerate);
encodingCtx->max_b_frames = maxBFrames;
encodingCtx->gop_size = gop_size;
if (outputAVFormat->oformat->flags & AVFMT_GLOBALHEADER)
encodingCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
AVStream* outStream = avformat_new_stream(outputAVFormat, nullptr);
assert(outStream != nullptr);
ret = avcodec_parameters_from_context(outStream->codecpar, encodingCtx);
assert(ret >= 0);
outStream->time_base = encodingCtx->time_base;Then I convert RGBA frames(which is read from files) into YUV420P via
sws_scale
, and encoding :ret = avcodec_open2(encodingCtx, codec, nullptr);
assert(ret >= 0);
av_dump_format(outputAVFormat, 0, kOutputPath, 1);
ret = avio_open(&outputAVFormat->pb, kOutputPath, AVIO_FLAG_WRITE);
assert(ret >= 0);
ret = avformat_write_header(outputAVFormat, nullptr);
assert(ret >= 0);
AVFrame* frame = av_frame_alloc();
frame->width = inputParams->width;
frame->height = inputParams->height;
frame->format = inputParams->format;
frame->pts = 0;
assert(ret >= 0);
ret = av_frame_get_buffer(frame, 32);
int frameCount = 0;
assert(ret >= 0);
ret = av_frame_make_writable(frame);
assert(ret >= 0);
SwsContext* swsContext = sws_getContext(inputParams->width, inputParams->height,
AV_PIX_FMT_RGBA, frame->width,
frame->height, static_cast<avpixelformat>(inputParams->format),
SWS_BILINEAR, NULL, NULL, NULL);
for (auto inputPicPath : std::filesystem::directory_iterator(kInputDir))
{
int width, height, comp;
unsigned char* data = stbi_load(inputPicPath.path().string().c_str(), &width, &height, &comp, 4);
int srcStrides[1] = { 4 * width };
int ret = sws_scale(swsContext, &data, srcStrides, 0, height, frame->data,
frame->linesize);
assert(ret >= 0);
frame->pts = frameCount;
//frame->pict_type = AV_PICTURE_TYPE_I;
frameCount += 1;
encode(encodingCtx, frame, 0, outputAVFormat);
stbi_image_free(data);
}
while (encode(encodingCtx, nullptr, 0, outputAVFormat))
{
;
}
static bool encode(AVCodecContext* enc_ctx, AVFrame* frame, std::uint32_t streamIndex,
AVFormatContext * formatCtx)
{
int ret;
int got_output = 0;
AVPacket packet = {};
av_init_packet(&packet);
ret = avcodec_encode_video2(enc_ctx, &packet, frame, &got_output);
assert(ret >= 0);
if (got_output) {
packet.stream_index = streamIndex;
av_packet_rescale_ts(&packet, enc_ctx->time_base, formatCtx->streams[streamIndex]->time_base);
ret = av_interleaved_write_frame(formatCtx, &packet);
assert(ret >= 0);
return true;
}
else {
return false;
}
}
</avpixelformat>Finally I cleaned up stuff :
av_write_trailer(outputAVFormat);
sws_freeContext(swsContext);
avcodec_free_context(&encodingCtx);
avio_closep(&outputAVFormat->pb);
avformat_free_context(outputAVFormat);
av_frame_free(&frame);I dumped my input format and my output format :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'H:\Me.MP4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp41mp42isom
creation_time : 2019-04-03T05:44:22.000000Z
Duration: 00:00:06.90, start: 0.000000, bitrate: 1268 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 540x960, 1238 kb/s, 29.86 fps, 30 tbr, 600 tbn, 1200 tbc (default)
Metadata:
creation_time : 2019-04-03T05:44:22.000000Z
handler_name : Core Media Video
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, stereo, fltp, 24 kb/s (default)
Metadata:
creation_time : 2019-04-03T05:44:22.000000Z
handler_name : Core Media Audio
[libx264 @ 000002126F90C1C0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002126F90C1C0] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 000002126F90C1C0] 264 - core 157 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=12 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=12 rc=abr mbtree=1 bitrate=1238 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.mp4':
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 540x960, q=2-31, 1238 kb/s, 29.86 tbnUpdate :
After I deleted
encodingCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
the output video is right. Also, outputting avi works, too.
-
Reverse and areverse crash the computer
14 août 2019, par AlexI am using this command :
ffmpeg -y -ss 00:03:52.612 -i "H:\DCIM\100GOPRO\GOPR3258.MP4" -r 60 -t 00:00:12.140 -vf reverse -af afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:11.140':d=1,areverse 6.mp4
It increases the memory consumption of the computer to a point of collapse.
Putting it like
ffmpeg -y -ss 00:03:52.612 -i "H:\DCIM\100GOPRO\GOPR3258.MP4" -r 60 -t 00:00:12.140 -af afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:11.140':d=1 6.mp4
Works without a problem.
Therefore, the issue is in the
-vf reverse
and-af reverse
.The output is
ffmpeg version N-94543-g8fcc5d963e Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.100 / 58. 55.100
libavformat 58. 30.100 / 58. 30.100
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.100 / 7. 58.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000024b71029180] Using non-standard frame rate 59/1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'H:\DCIM\100GOPRO\GOPR3258.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2019-08-14T13:50:26.000000Z
firmware : HD4.02.05.00.00
Duration: 00:17:43.08, start: 0.000000, bitrate: 30127 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 29972 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
Metadata:
creation_time : 2019-08-14T13:50:26.000000Z
handler_name : GoPro AVC
encoder : GoPro AVC encoder
timecode : 14:03:41:09
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2019-08-14T13:50:26.000000Z
handler_name : GoPro AAC
timecode : 14:03:41:09
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2019-08-14T13:50:26.000000Z
handler_name : GoPro TCD
timecode : 14:03:41:09
Stream #0:3(eng): Data: none (fdsc / 0x63736466), 13 kb/s (default)
Metadata:
creation_time : 2019-08-14T13:50:26.000000Z
handler_name : GoPro SOS
Only '-vf reverse' read, ignoring remaining -vf options: Use ',' to separate filters
Only '-af afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:11.140':d=1,areverse' read, ignoring remaining -af options: Use ',' to separate filters
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0000024b7148cc40] using SAR=1/1
[libx264 @ 0000024b7148cc40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0000024b7148cc40] profile High, level 4.2, 4:2:0, 8-bit
[libx264 @ 0000024b7148cc40] 264 - core 158 r2984 3759fcb - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=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 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '6.mp4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
firmware : HD4.02.05.00.00
encoder : Lavf58.30.100
Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 0.02 fps, 15360 tbn, 60 tbc (default)
Metadata:
creation_time : 2019-08-14T13:50:26.000000Z
handler_name : GoPro AVC
timecode : 14:03:41:09
encoder : Lavc58.55.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: 18446744073709551615
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2019-08-14T13:50:26.000000Z
handler_name : GoPro AAC
timecode : 14:03:41:09
encoder : Lavc58.55.100 aac
frame= 0 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.00 bitrate=N/A speed= 0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[aac @ 0000024b71498b40] Qavg: nanWhat I find interesting is
Only '-vf reverse' read, ignoring remaining -vf options: Use ',' to separate filters
As there is only
-vf reverse
Only '-af afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:11.140':d=1,areverse' read, ignoring remaining -af options: Use ',' to separate filters
Here the same.
I tried
ffmpeg -y -ss 00:03:52.612 -i "H:\DCIM\100GOPRO\GOPR3258.MP4" -r 60 -t 00:00:12.140 -vf "reverse" -af "afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:11.140':d=1,areverse" 6.mp4
to no avail
What is causing this issue ?
-
ffmpeg error : could not get mpeg2 profile and level av_interleaved_write_frame() : Operation not permitted
24 septembre 2019, par A PersonGetting a weird error
could not get mpeg2 profile and level av_interleaved_write_frame() : Operation not permitted
and i do not understand how to fix itffmpeg -i video.mpeg -i audio.wav -c copy -map 0:0 -map 1:0 out.mxf
ffmpeg version N-94821-g976617c7d2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 35.100 / 56. 35.100
libavcodec 58. 56.101 / 58. 56.101
libavformat 58. 32.104 / 58. 32.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.102 / 7. 58.102
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mpegvideo, from 'video.mpeg':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mpeg2video (High), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, wav, from 'audio.wav':
Duration: 00:07:36.16, bitrate: 1536 kb/s
Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Output #0, mxf, to 'out.mxf':
Metadata:
encoder : Lavf58.32.104
Stream #0:0: Video: mpeg2video (High), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mxf @ 000001b5e48f9680] could not get mpeg2 profile and level
av_interleaved_write_frame(): Operation not permitted