
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (84)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (6929)
-
How to merge two audio files into one stereo file in FFmpeg?
12 août 2021, par TW520input :




Two audio file, It may be stereo or mono.




output :




- 

- A stereo file, and the stereo FL uses one file all channels, and FR uses other file all channels.
- The total duration is based on the longest file.
- I hope it can be achieved through FFmpeg.










There are four case :


- 

- mono + mono -> stereo
- mono + stereo -> stereo
- stereo + mono -> stereo
- stereo + stereo -> stereo










I hope someone can help me, I am a newbie to FFmpeg.


-
ffmpeg live stream latency
22 août 2014, par Alex FuI’m currently working on live streaming video from device A (source) to device B (destination) directly via local WiFi network.
I’ve built FFMPEG to work on the Android platform and I have been able to stream video from
A -> B
successfully at the expense of latency (takes about 20 seconds for a movement or change to appear on screen ; as if the video was 20 seconds behind actual events).Initial start up is around 4 seconds. I’ve been able to trim that initial start up time down by lowering
probesize
andmax_analyze_duration
but the 20 second delay is still there.I’ve sprinkled some timing events around the code to try an figure out where the most time is being spent...
- naInit : 0.24575 sec
- naSetup : 0.043705 sec
The first video frame isn’t obtained until 0.035342 sec after the decodeAndRender function is called. Subsequent decoding times can be illustrated here :
http://jsfiddle.net/uff0jdf7/1/ (interactive graph)
From all the timing data i’ve recorded, nothing really jumps out at me unless I’m doing the timing wrong. Some have suggested that I am buffering too much data, however, as far as I can tell, I’m only buffering an image at a time. Is this too much ?
Also, the source video that’s coming in is in the format of P264 ; it’s a custom implementation of H264 apparently.
jint naSetup(JNIEnv *pEnv, jobject pObj, int pWidth, int pHeight) {
width = pWidth;
height = pHeight;
//create a bitmap as the buffer for frameRGBA
bitmap = createBitmap(pEnv, pWidth, pHeight);
if (AndroidBitmap_lockPixels(pEnv, bitmap, &pixel_buffer) < 0) {
LOGE("Could not lock bitmap pixels");
return -1;
}
//get the scaling context
sws_ctx = sws_getContext(codecCtx->width, codecCtx->height, codecCtx->pix_fmt,
pWidth, pHeight, AV_PIX_FMT_RGBA, SWS_BILINEAR, NULL, NULL, NULL);
// Assign appropriate parts of bitmap to image planes in pFrameRGBA
// Note that pFrameRGBA is an AVFrame, but AVFrame is a superset
// of AVPicture
av_image_fill_arrays(frameRGBA->data, frameRGBA->linesize, pixel_buffer, AV_PIX_FMT_RGBA, pWidth, pHeight, 1);
return 0;
}
void decodeAndRender(JNIEnv *pEnv) {
ANativeWindow_Buffer windowBuffer;
AVPacket packet;
AVPacket outputPacket;
int frame_count = 0;
int got_frame;
while (!stop && av_read_frame(formatCtx, &packet) >= 0) {
// Is this a packet from the video stream?
if (packet.stream_index == video_stream_index) {
// Decode video frame
avcodec_decode_video2(codecCtx, decodedFrame, &got_frame, &packet);
// Did we get a video frame?
if (got_frame) {
// Convert the image from its native format to RGBA
sws_scale(sws_ctx, (uint8_t const * const *) decodedFrame->data,
decodedFrame->linesize, 0, codecCtx->height, frameRGBA->data,
frameRGBA->linesize);
// lock the window buffer
if (ANativeWindow_lock(window, &windowBuffer, NULL) < 0) {
LOGE("Cannot lock window");
} else {
// draw the frame on buffer
int h;
for (h = 0; h < height; h++) {
memcpy(windowBuffer.bits + h * windowBuffer.stride * 4,
pixel_buffer + h * frameRGBA->linesize[0],
width * 4);
}
// unlock the window buffer and post it to display
ANativeWindow_unlockAndPost(window);
// count number of frames
++frame_count;
}
}
}
// Free the packet that was allocated by av_read_frame
av_free_packet(&packet);
}
LOGI("Total # of frames decoded and rendered %d", frame_count);
} -
use ffmpeg to cut video,the video will have extra duration
17 juin 2021, par Venusffmpeg -ss 2 -i input.mp4 -c copy -t 5 out.mp4



after I executed the ffmpeg command.

the out.mp4 total have 7 seconds,it starts from the second frame of input.mp4 to the seventh frame of input.mp4.

It only has 5 effective seconds of the input.mp4, the last 2 seconds of input.mp4 is empty.