
Recherche avancée
Médias (1)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
Autres articles (101)
-
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Problèmes fréquents
10 mars 2010, parPHP et safe_mode activé
Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site
Sur d’autres sites (12609)
-
WMA Lossless and ProRes Encoder
4 mars 2012, par Multimedia Mike — GeneralThe projects (FFmpeg / Libav) just got a WMA lossless decoder. For those keeping score, this means that there are open source methods for decoding every single one of Microsoft’s proprietary audio codecs (Windows Media Audio, or WMA) : WMA v1, WMA v2, WMA9/Pro, WMA Voice, and now WMA lossless. Currently, it’s only advertised to decode 16-bit audio (no 24-bit). Also, when I first tried it a few days ago, it didn’t decode the very end of the single sample file I concocted many years ago (luckynight.wma). But that might be cleared up by now.
Some other recent developments in the projects that I wanted to call out : An encoder for the Apple ProRes encoder from Kostya ; XWD (X window dump) image decoding and encoding from Paul B. Mahol ; a Sun rasterfile encoder from Aneesh Dogra.
And then there’s the new playback system for CDXL files, also courtesy of Paul B. Mahol. I wasn’t familiar with this format until I wrote this post, which is surprising, given the format’s vintage. This was a CD-ROM FMV format favored for Amiga computers. Here it is in all its 160x120x10fps glory :
That’s the amigaball.cdxl sample available in the repository. The sample is 3835910 bytes large and plays for about 24 seconds. This yields a data rate of about 159 kbytes/second. So, yeah, single-speed CD-ROM FMV.
-
Android FFMPEG command line for video filter
4 février 2014, par user2568369I am using following command to add retro effect in video.
String[] ffmpegCommand = {"/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg", "-r", ""+p.getPreviewFrameRate(), "-b", "1000000", "-vcodec", "mjpeg", "-i", Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/frame_%05d.jpg","-vcodec", "mjpeg", "-acodec","libfaac","-vf","curves=vintage", "-qscale", "3", "-async", "1", "-y",Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/video.mp4"};
ffmpegProcess = new ProcessBuilder(ffmpegCommand).redirectErrorStream(true).start();
BufferedReader reader = new BufferedReader(new InputStreamReader(ffmpegProcess.getInputStream()));but I am getting following error :
09-02 13:42:57.343: V/MJPEG_FFMPEG(2346): Finished Writing Frame
09-02 13:42:57.351: V/MJPEG_FFMPEG(2346): Recording Stopped
09-02 13:42:57.414: V/MJPEG_FFMPEG(2346): ***Starting FFMPEG***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***FFmpeg version UNKNOWN, Copyright (c) 2000-2010 the FFmpeg developers***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** built on Jul 28 2011 16:47:07 with gcc 4.4.3***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** configuration: --target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm --sysroot=/Developer/android-ndk-r5b//platforms/android-3/arch-arm --soname-prefix=/data/data/com.mobvcasting.mjpegffmpeg/ --enable-shared --disable-symver --enable-small --optimization-flags=-O2 --enable-encoder=mpeg2video --enable-encoder=nellymoser --enable-protocol=file --prefix=../build/ffmpeg/armeabi --extra-cflags= --extra-ldflags=***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libavutil 50.34. 0 / 50.34. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libavcore 0.16. 0 / 0.16. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libavcodec 52.99. 1 / 52.99. 1***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libavformat 52.88. 0 / 52.88. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libavdevice 52. 2. 2 / 52. 2. 2***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libavfilter 1.69. 0 / 1.69. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): *** libswscale 0.12. 0 / 0.12. 0***
09-02 13:42:57.648: V/MJPEG_FFMPEG(2346): ***Input #0, image2, from '/mnt/sdcard/com.mobvcasting.mjpegffmpeg/frame_%05d.jpg':***
09-02 13:42:57.656: V/MJPEG_FFMPEG(2346): *** Duration: 00:00:01.83, start: 0.000000, bitrate: N/A***
09-02 13:42:57.656: V/MJPEG_FFMPEG(2346): *** Stream #0.0: Video: mjpeg, yuvj420p, 320x240 [PAR 1:1 DAR 4:3], 30 fps, 30 tbr, 30 tbn, 30 tbc***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***[buffer @ 0x5d110] w:320 h:240 pixfmt:yuvj420p***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***No such filter: 'curves'***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***Error opening filters!***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***Ending FFMPEG***Any help will be highly appreciated.
-
Error of FFmpeg on Java in "av_image_copy_to_buffer" method during decoding H.264 stream
26 mai 2020, par maru2213I'm trying to decode H.264 stream, which is sent over Socket from an Android application to a computer. And I also want to show the decoded stream using JavaFX. I searched for a long time, and decided to use JavaCV / FFmpeg. However I got error from FFmpeg. (I was inspired by this code.)



Questions :



- 

- Why does FFmpeg make error ?
- Is it a correct way to convert
AVFrame
tojavafx.scene.image.Image
?







I'm using :



- 

- javacv-platform 1.4.4
- ffmpeg-platform 4.1-1.4.4







Code :



This is a part of import and class fields, and method which runs once at the first time. (Actually the content of
initialize()
is wrapped by try catch.)


import javafx.scene.image.Image;

 private avcodec.AVCodec avCodec;
 private avcodec.AVCodecContext avCodecContext;
 private avutil.AVDictionary avDictionary;
 private avutil.AVFrame avFrame;

 public void initialize() {
 avCodec = avcodec_find_decoder(AV_CODEC_ID_H264);
 if (avCodec == null) {
 throw new RuntimeException("Can't find decoder");
 }
 avCodecContext = avcodec_alloc_context3(avCodec);
 if (avCodecContext == null) {
 throw new RuntimeException("Can't allocate decoder context");
 }
 int result = avcodec_open2(avCodecContext, avCodec, (AVDictionary) null);
 if (result < 0) {
 throw new RuntimeException("Can't open decoder");
 }
 avFrame = av_frame_alloc();
 if (avFrame == null) {
 throw new RuntimeException("Can't allocate frame");
 }
 }




And this is a method which is called every time when I receive a packet from Android.
byte[] data
is the packet data starting with0x00
,0x00
,0x00
,0x01
.


The place where I get error is
number_of_written_bytes
. It always gets <0.


private void decode(byte[] data) {
 AVPacket avPacket = new AVPacket();
 av_init_packet(avPacket);
 avPacket.pts(AV_NOPTS_VALUE);
 avPacket.dts(AV_NOPTS_VALUE);
 BytePointer bytePointer = new BytePointer(data);
 bytePointer.capacity(data.length);
 avPacket.data(bytePointer);
 avPacket.size(data.length);
 avPacket.pos(-1);

 avcodec_send_packet(avCodecContext, avPacket);
 int result = avcodec_receive_frame(avCodecContext, avFrame);
 if (result >= 0) {
 int bufferOutputSize = av_image_get_buffer_size(avFrame.format(), avFrame.width(), avFrame.height(), 16);
 Pointer pointer = av_malloc(bufferOutputSize);
 BytePointer outputPointer = new BytePointer(pointer);
 int number_of_written_bytes = av_image_copy_to_buffer(outputPointer, bufferOutputSize, avFrame.data(), avFrame.linesize(), avFrame.chroma_location(), avFrame.width(), avFrame.height(), 1);
 if (number_of_written_bytes < 0) {
 //The process always come here.
 throw new RuntimeException("Can't copy image to buffer");
 }

 System.out.println("decode success");
 Image image = new Image(new ByteArrayInputStream(outputPointer.asBuffer().array()));
 } else {
 System.out.println("decode failed");
 }
 }




Anything is helpful for me. Thanks.