
Recherche avancée
Médias (1)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (25)
-
Soumettre bugs et patchs
10 avril 2011Un logiciel n’est malheureusement jamais parfait...
Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
Si vous pensez avoir résolu vous même le bug (...) -
Installation en mode standalone
4 février 2011, parL’installation de la distribution MediaSPIP se fait en plusieurs étapes : la récupération des fichiers nécessaires. À ce moment là deux méthodes sont possibles : en installant l’archive ZIP contenant l’ensemble de la distribution ; via SVN en récupérant les sources de chaque modules séparément ; la préconfiguration ; l’installation définitive ;
[mediaspip_zip]Installation de l’archive ZIP de MediaSPIP
Ce mode d’installation est la méthode la plus simple afin d’installer l’ensemble de la distribution (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
Sur d’autres sites (6294)
-
Fire events at specific timestamps during video playback
27 octobre 2017, par SimonI’m using a Raspberry Pi 3 running Raspbian. I need to play a video file via HDMI, and I need events to be fired at specific timecodes during the playback of the video. The events are simple write operations to the GPIO. My problem is : what approach should I use to do this ?
My first approach was to use OpenCv (python) and VideoCapture(), but the raspberry pi is too slow, and my FPS is very low (I need at least 25 FPS @ 1080p).
So now I’m looking into other solutions : Gstreamer, FFMPEG, omxplayer, I read the documentations but I can’t figure out which tool to use for this job.
-
AV playback synchronization using ffmpeg on WPF
10 août 2017, par learnerI have Video( H264-1080p-30fps) and Audio (Mu-law-8k) in separate files both are generated from same camera source. My work is to play them both synchronously using ffmpeg. I can able to decode video and audio without any issue but I don’t know how to play AV synchronously on WPF.
- What is the best way to render the video and play audio on Wpf after decoding ?
- How to play them synchronously ?
Thanks in advance..
-
Resize camera preview frame using Ffmpeg
20 avril 2015, par Vipul PurohitScenario :
I’m working on a live video stream application, in that I need to stream video at resolution around 380x240. I’m sending the camera preview byte[] to streamer from onPreviewFrame event of Camera.PreviewCallback.
But I need to show camera preview in 720p/1080p but its not possible due to low resolution video streaming.Problem
The solution I’m working is to reduce the video frame size from HD to a low resolution and then send it to streamer and for that I’m using FFMPEG’s sws_scale.I’ve successfully compiled the FFMPEG and can access and execute the JNI methods. But I’m completely new to android NDK development and not very familiar with the C/C++ language so I need help in writing JNI method to scale down the video frame.
Here is what I’m having in my JNI method :
JNIEXPORT jbyteArray JNICALL Java_com_example_ffmpegtest_MainActivity_resizeFrame(
JNIEnv * env, jobject pObj, jbyteArray *input, jbyteArray * output,
int width, int height) {
struct SwsContext *resize;
resize = sws_getContext(width, height, PIX_FMT_YUV420P, width, height,
AV_PIX_FMT_YUV420P, SWS_BICUBIC, NULL, NULL, NULL);
LOGI("---RESIZE");
AVFrame* picture = avcodec_alloc_frame(); // this is your original frame
AVFrame* outpic = avcodec_alloc_frame();
int num_bytes = avpicture_get_size(PIX_FMT_YUV420P, width, height);
jbyteArray data = (*env)->NewByteArray(env, num_bytes);
uint8_t* frame2_buffer = (uint8_t *) av_malloc(num_bytes * sizeof(uint8_t));
LOGI("---NUMBYTES ED");
avpicture_fill((AVPicture*) picture, input, PIX_FMT_YUV420P, width, width);
avpicture_fill((AVPicture*) outpic, frame2_buffer, PIX_FMT_YUV420P, 600,
600);
sws_scale(resize, picture->data, picture->linesize, 600, 600, outpic->data,
outpic->linesize);
sws_freeContext(resize);
(*env)->SetByteArrayRegion(env, data, 0, num_bytes, outpic);
LOGI("---SCALE %d", picture->data);
LOGI("---SCALE_OUT %d", outpic->data);
return output;}
Here is the fuction for JNI method :
private static native byte[] resizeFrame(byte[] input, byte[] output, int width, int height);
and the Camera.PreviewCallback
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
byte[] data2 = null;
data2 = resizeFrame(data, data2, mPreview.mPreviewSize.width,
mPreview.mPreviewSize.height);
// Code to send camera frame to streamer
}I’m always getting data2 null.
I know its a bad coding practices but I’m just keep changing the code to make it work but failed.