
Recherche avancée
Médias (91)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
-
Les Miserables
4 juin 2012, par
Mis à jour : Février 2013
Langue : English
Type : Texte
-
Ne pas afficher certaines informations : page d’accueil
23 novembre 2011, par
Mis à jour : Novembre 2011
Langue : français
Type : Image
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Richard Stallman et la révolution du logiciel libre - Une biographie autorisée (version epub)
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (22)
-
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 -
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 (...)
-
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)
Sur d’autres sites (6090)
-
aarch64 : vp9itxfm : Do separate functions for half/quarter idct16 and idct32
22 novembre 2016, par Martin Storsjöaarch64 : vp9itxfm : Do separate functions for half/quarter idct16 and idct32
This work is sponsored by, and copyright, Google.
This avoids loading and calculating coefficients that we know will
be zero, and avoids filling the temp buffer with zeros in places
where we know the second pass won’t read.This gives a pretty substantial speedup for the smaller subpartitions.
The code size increases from 14740 bytes to 24292 bytes.
The idct16/32_end macros are moved above the individual functions ; the
instructions themselves are unchanged, but since new functions are added
at the same place where the code is moved from, the diff looks rather
messy.Before :
vp9_inv_dct_dct_16x16_sub1_add_neon : 236.7
vp9_inv_dct_dct_16x16_sub2_add_neon : 1051.0
vp9_inv_dct_dct_16x16_sub4_add_neon : 1051.0
vp9_inv_dct_dct_16x16_sub8_add_neon : 1051.0
vp9_inv_dct_dct_16x16_sub12_add_neon : 1387.4
vp9_inv_dct_dct_16x16_sub16_add_neon : 1387.6
vp9_inv_dct_dct_32x32_sub1_add_neon : 554.1
vp9_inv_dct_dct_32x32_sub2_add_neon : 5198.5
vp9_inv_dct_dct_32x32_sub4_add_neon : 5198.6
vp9_inv_dct_dct_32x32_sub8_add_neon : 5196.3
vp9_inv_dct_dct_32x32_sub12_add_neon : 6183.4
vp9_inv_dct_dct_32x32_sub16_add_neon : 6174.3
vp9_inv_dct_dct_32x32_sub20_add_neon : 7151.4
vp9_inv_dct_dct_32x32_sub24_add_neon : 7145.3
vp9_inv_dct_dct_32x32_sub28_add_neon : 8119.3
vp9_inv_dct_dct_32x32_sub32_add_neon : 8118.7After :
vp9_inv_dct_dct_16x16_sub1_add_neon : 236.7
vp9_inv_dct_dct_16x16_sub2_add_neon : 640.8
vp9_inv_dct_dct_16x16_sub4_add_neon : 639.0
vp9_inv_dct_dct_16x16_sub8_add_neon : 842.0
vp9_inv_dct_dct_16x16_sub12_add_neon : 1388.3
vp9_inv_dct_dct_16x16_sub16_add_neon : 1389.3
vp9_inv_dct_dct_32x32_sub1_add_neon : 554.1
vp9_inv_dct_dct_32x32_sub2_add_neon : 3685.5
vp9_inv_dct_dct_32x32_sub4_add_neon : 3685.1
vp9_inv_dct_dct_32x32_sub8_add_neon : 3684.4
vp9_inv_dct_dct_32x32_sub12_add_neon : 5312.2
vp9_inv_dct_dct_32x32_sub16_add_neon : 5315.4
vp9_inv_dct_dct_32x32_sub20_add_neon : 7154.9
vp9_inv_dct_dct_32x32_sub24_add_neon : 7154.5
vp9_inv_dct_dct_32x32_sub28_add_neon : 8126.6
vp9_inv_dct_dct_32x32_sub32_add_neon : 8127.2Signed-off-by : Martin Storsjö <martin@martin.st>
-
ffmpeg php get frame / image after half time of the video or after 40 seconds
6 mars 2016, par sonam Sharmahello all i am having this code in my php and i want to get an image after 50% of the duration of the video and also get the duration of the video in a variable i have installed ffmpeg in my php and computer
the page has following code
require 'vendor/autoload.php';
//ececute ffmpeg generate mp4
exec('ffmpeg -i '.$uploadfile.' -f mp4 -s 896x504 '.$new_flv.'');
//execute ffmpeg and create thumb
exec('ffmpeg -i '.$uploadfile.' -f mjpeg -vframes 71 -s 768x432 -an '.$new_image_path.'');i want an image after 50% of the duration of the video and also store the video duration in a variable
please give me some suggestions i am stuck over here
-
FFmpeg transcoded sound (AAC) stops after half video time
17 août 2015, par TheSHEEEPI have a strange problem in my C/C++ FFmpeg transcoder, which takes an input MP4 (varying input codecs) and produces and output MP4 (x264, baseline & AAC LC @44100 sample rate with libfdk_aac) :
The resulting mp4 video has fine images (x264) and the audio (AAC LC) works fine as well, but is only played until exactly the half of the video.
The audio is not slowed down, not stretched and doesn’t stutter. It just stops right in the middle of the video.
One hint may be that the input file has a sample rate of 22050 and 22050/44100 is 0.5, but I really don’t get why this would make the sound just stop after half the time. I’d expect such an error leading to sound being at the wrong speed. Everything works just fine if I don’t try to enforce 44100 and instead just use the incoming sample_rate.
Another guess would be that the pts calculation doesn’t work. But the audio sounds just fine (until it stops) and I do exactly the same for the video part, where it works flawlessly. "Exactly", as in the same code, but "audio"-variables replaced with "video"-variables.
FFmpeg reports no errors during the whole process. I also flush the decoders/encoders/interleaved_writing after all the package reading from the input is done. It works well for the video so I doubt there is much wrong with my general approach.
Here are the functions of my code (stripped off the error handling & other class stuff) :
AudioCodecContext Setup
outContext->_audioCodec = avcodec_find_encoder(outContext->_audioTargetCodecID);
outContext->_audioStream =
avformat_new_stream(outContext->_formatContext, outContext->_audioCodec);
outContext->_audioCodecContext = outContext->_audioStream->codec;
outContext->_audioCodecContext->channels = 2;
outContext->_audioCodecContext->channel_layout = av_get_default_channel_layout(2);
outContext->_audioCodecContext->sample_rate = 44100;
outContext->_audioCodecContext->sample_fmt = outContext->_audioCodec->sample_fmts[0];
outContext->_audioCodecContext->bit_rate = 128000;
outContext->_audioCodecContext->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
outContext->_audioCodecContext->time_base =
(AVRational){1, outContext->_audioCodecContext->sample_rate};
outContext->_audioStream->time_base = (AVRational){1, outContext->_audioCodecContext->sample_rate};
int retVal = avcodec_open2(outContext->_audioCodecContext, outContext->_audioCodec, NULL);Resampler Setup
outContext->_audioResamplerContext =
swr_alloc_set_opts( NULL, outContext->_audioCodecContext->channel_layout,
outContext->_audioCodecContext->sample_fmt,
outContext->_audioCodecContext->sample_rate,
_inputContext._audioCodecContext->channel_layout,
_inputContext._audioCodecContext->sample_fmt,
_inputContext._audioCodecContext->sample_rate,
0, NULL);
int retVal = swr_init(outContext->_audioResamplerContext);Decoding
decodedBytes = avcodec_decode_audio4( _inputContext._audioCodecContext,
_inputContext._audioTempFrame,
&p_gotAudioFrame, &_inputContext._currentPacket);Converting (only if decoding produced a frame, of course)
int retVal = swr_convert( outContext->_audioResamplerContext,
outContext->_audioConvertedFrame->data,
outContext->_audioConvertedFrame->nb_samples,
(const uint8_t**)_inputContext._audioTempFrame->data,
_inputContext._audioTempFrame->nb_samples);Encoding (only if decoding produced a frame, of course)
outContext->_audioConvertedFrame->pts =
av_frame_get_best_effort_timestamp(_inputContext._audioTempFrame);
// Init the new packet
av_init_packet(&outContext->_audioPacket);
outContext->_audioPacket.data = NULL;
outContext->_audioPacket.size = 0;
// Encode
int retVal = avcodec_encode_audio2( outContext->_audioCodecContext,
&outContext->_audioPacket,
outContext->_audioConvertedFrame,
&p_gotPacket);
// Set pts/dts time stamps for writing interleaved
av_packet_rescale_ts( &outContext->_audioPacket,
outContext->_audioCodecContext->time_base,
outContext->_audioStream->time_base);
outContext->_audioPacket.stream_index = outContext->_audioStream->index;Writing (only if encoding produced a packet, of course)
int retVal = av_interleaved_write_frame(outContext->_formatContext, &outContext->_audioPacket);
I am quite out of ideas about what would cause such a behaviour.