
Recherche avancée
Autres articles (68)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
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 ) (...)
Sur d’autres sites (9276)
-
Leading Google Analytics alternative, Matomo, parodies Christopher Nolan blockbuster ahead of the UA sunset
4 juillet 2023, par Erin — Press Releases -
javacv FFMPEG decode memory leak ?
25 mars 2015, par Liquan NieI’m new to JAVACV and I am using FFMPEG to play some video file as follows
My enviroument is windows 8 with jdk7 and javacv0.10.String file_path ="D:\\1.mp4";
// regist all format and codec
avformat.av_register_all();
avcodec.avcodec_register_all();
// open file
avformat.AVFormatContext avFormatCtx = avformat.avformat_alloc_context();
if (avformat.avformat_open_input(avFormatCtx, file_path, null, null) != 0)
{
System.out.println("cann't open file\r\n");
return;
}
// find stream info
if (avformat.avformat_find_stream_info(avFormatCtx, (AVDictionary)null) < 0)
{
System.out.println("can't find stream info\r\n");
return;
}
int videoIndex = -1;
for(int i=0; i< avFormatCtx.nb_streams();i++)
{
if(avFormatCtx.streams(i).codec().codec_type() == avutil.AVMEDIA_TYPE_VIDEO)
{
videoIndex = i;
}
}
// determ codec
avcodec.AVCodecContext avCodecCtx = avFormatCtx.streams(videoIndex).codec();
avcodec.AVCodec codec = avcodec.avcodec_find_decoder(avCodecCtx.codec_id());
if (codec == null)
{
System.out.println("codec not found");
return;
}
if(avcodec.avcodec_open2(avCodecCtx, codec, (AVDictionary)null) < 0)
{
System.out.println("cann't open avcodec\r\n");
}
avutil.AVFrame frame = avcodec.avcodec_alloc_frame();
avutil.AVFrame frameRGB = avcodec.avcodec_alloc_frame();
int numByte = avcodec.avpicture_get_size(avutil.AV_PIX_FMT_RGB24, avCodecCtx.width(), avCodecCtx.height());
Pointer outBuffer = avutil.av_malloc(numByte);
avcodec.avpicture_fill(new AVPicture(frameRGB), outBuffer.asByteBuffer(), avutil.AV_PIX_FMT_RGB24, avCodecCtx.width(), avCodecCtx.height());
avformat.av_dump_format(avFormatCtx, 0, file_path, 0);
System.out.println(avFormatCtx.duration());
SwsContext img_convert_ctx = swscale.sws_getContext(avCodecCtx.width(), avCodecCtx.height(), avCodecCtx.pix_fmt(), avCodecCtx.width(), avCodecCtx.height(), avutil.AV_PIX_FMT_RGB24, swscale.SWS_BICUBIC, null, null, (double[])null);
AVPacket pkt = new AVPacket();
int y_size = avCodecCtx.width()*avCodecCtx.height();
avcodec.av_new_packet(pkt, y_size);
opencv_highgui.cvNamedWindow(WINDOW_NAME);
IplImage showImage = opencv_core.cvCreateImage(opencv_core.cvSize(avCodecCtx.width(), avCodecCtx.height()), opencv_core.IPL_DEPTH_8U, 3);
// read frames loop
int frameNumbers = avformat.av_read_frame(avFormatCtx, pkt);
System.out.println("frame number is "+frameNumbers);
while (avformat.av_read_frame(avFormatCtx, pkt) >= 0)
{
//System.out.println(pkt.asByteBuffer());
if (pkt.stream_index() == videoIndex)
{
IntPointer ip = new IntPointer();
int ret = avcodec.avcodec_decode_video2(avCodecCtx, frame, ip, pkt);
if (ret < 0)
{
System.out.println("codec error\r\n");
return;
}
if (ip.get()!= 0)
{
swscale.sws_scale(img_convert_ctx, frame.data(), frame.linesize(), 0, avCodecCtx.height(), frameRGB.data(), frameRGB.linesize());
showImage.imageData(frameRGB.data(0));
showImage.widthStep(frameRGB.linesize().get(0));
opencv_highgui.cvShowImage(WINDOW_NAME, showImage);
opencv_highgui.cvWaitKey(25);
}
}
}
showImage.release();
opencv_highgui.cvDestroyWindow(WINDOW_NAME);
avutil.av_free(frameRGB);
avcodec.avcodec_close(avCodecCtx);
avformat.avformat_close_input(avFormatCtx);but i run into get this error
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000767c35ed, pid=11884, tid=3960
#
# JRE version: 7.0_13-b20
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [avcodec-56.dll+0x4835ed] avcodec_decode_video2+0xbd
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# E:\code\android\TestJAVACV\hs_err_pid11884.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf53.29.100
Duration: 00:08:30.27, start: 0.000000, bitrate: 160 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x540 [SAR 1:1 DAR 16:9], 28 kb/s, 15 fps, 15 tbr, 15 tbn, 30 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandlerand in the log file i found that the enden space heap in jvm has been used 98%. but I don’t know where is the issue, since the document of ffmpeg is not that enough, I feel difficult to know more about how to use it well ,any suggestions ??
Heap
PSYoungGen total 23872K, used 20250K [0x00000000e5600000, 0x00000000e70a0000, 0x0000000100000000)
eden space 20480K, 98% used [0x00000000e5600000,0x00000000e69c69f8,0x00000000e6a00000) -
ffmgep stucks while merging two streams at input 0 [closed]
3 février 2024, par Robi TagoreI tried to merge two streams downloaded before, I was using ffmpeg to combine them. I could use the path directly, but I felt it would'nt always be, so I read the steams, after I combine them,
everytime I run the code it std errs the following output, and creates merged.mp4 with 0 bytes, help me find the mistake


code



const {spawn} = require("child_process");
const fs = require("fs")


var audio = fs.createReadStream("audio.aac")
var video = fs.createReadStream("video.mp4")



var ffprocess = spawn("ffmpeg",[
 '-y',
 '-i', 'pipe:0', 
 '-i', 'pipe:1', 
 '-c', 'copy', 
 '-f', 'mp4', 
 'pipe:2', 
])

video.pipe(ffprocess.stdin)
audio.pipe(ffprocess.stdin)


ffprocess.stdout.on("data")


ffprocess.stderr.on("data", (data) => {
 console.log(`ffmpeg stderr ${data}`);
});
 
ffprocess.on("close", (code) => {
if (code === 0) {
 console.log("FFmpeg process exited successfully");
} else {
 console.error(`FFmpeg process exited with code ${code}`);
}
});



output,


ffmpeg stderr ffmpeg version 6.0-6ubuntu1 Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 13 (Ubuntu 13.2.0-2ubuntu1)
 configuration: --prefix=/usr --extra-version=6ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
 libavutil 58. 2.100 / 58. 2.100

ffmpeg stderr libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100

ffmpeg stderr Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2023-07-31T07:06:25.000000Z
 Duration: 00:00:34.64, start: 0.000000, bitrate: N/A

ffmpeg stderr Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], 334 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
 Metadata:
 creation_time : 2023-07-31T07:06:25.000000Z
 handler_name : ISO Media file produced by Google Inc. Created on: 07/31/2023.
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
 Metadata:
 creation_time : 2023-07-31T07:06:25.000000Z
 handler_name : ISO Media file produced by Google Inc. Created on: 07/31/2023.
 vendor_id : [0][0][0][0]




audio.aac video.mp4 sits in the same directory


I have trying changing the -c flag and the other ones, but it somehow stucks and program dosent end up


I have trying changing the -c flag and the other ones, but it somehow stucks and program dosent end up