
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (95)
-
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 -
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 ;
-
Diogene : création de masques spécifiques de formulaires d’édition de contenus
26 octobre 2010, parDiogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.
A quoi sert ce plugin
Création de masques de formulaires
Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont : les articles ; les rubriques ; les sites
Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire (...)
Sur d’autres sites (4155)
-
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.