
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (82)
-
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (7853)
-
configure : Make MSVC version grabbing more robust
13 juin, par Martin Storsjöconfigure : Make MSVC version grabbing more robust
When running plain "cl", to get the MSVC version, it prints the
version header on stderr, while the usage instructions are printed
on stdout. Usually, the version on stderr gets flushed first,
so "head -n1" gets the line it expects, but some times (in particular
when running MSVC wrapped in wine), it can get the usage line
first.Redirect stdout to /dev/null, so we only grab the version among
the lines printed to stderr. This should make the version number
grabbing more robust.At least all relevant versions of MSVC seem to print this specifically
to stderr, not stdout (so we don't risk to miss it) ; checked down
to MSVC 2010.Signed-off-by : Martin Storsjö <martin@martin.st>
-
lavc/aarch64 : h264qpel, add 10-bit lowpass_8_10 based functions
4 décembre 2023, par Mikhail Nitenkolavc/aarch64 : h264qpel, add 10-bit lowpass_8_10 based functions
Benchmarks A53 A55 A72 A76
avg_h264_qpel_8_mc01_10_c : 936.5 924.0 656.0 504.7
avg_h264_qpel_8_mc01_10_neon : 234.7 202.0 120.7 63.2
avg_h264_qpel_8_mc02_10_c : 921.0 920.0 669.2 493.7
avg_h264_qpel_8_mc02_10_neon : 202.0 173.2 102.7 58.5
avg_h264_qpel_8_mc03_10_c : 936.5 924.0 656.0 509.5
avg_h264_qpel_8_mc03_10_neon : 236.2 203.7 120.0 63.2
avg_h264_qpel_8_mc10_10_c : 1441.0 1437.7 806.7 478.5
avg_h264_qpel_8_mc10_10_neon : 325.7 324.0 153.7 94.2
avg_h264_qpel_8_mc11_10_c : 2160.7 2148.2 1366.7 906.7
avg_h264_qpel_8_mc11_10_neon : 492.0 464.0 242.5 134.5
avg_h264_qpel_8_mc13_10_c : 2157.0 2138.2 1357.0 908.2
avg_h264_qpel_8_mc13_10_neon : 494.0 467.2 242.0 140.0
avg_h264_qpel_8_mc20_10_c : 1433.5 1410.0 785.2 486.0
avg_h264_qpel_8_mc20_10_neon : 293.7 289.7 138.0 91.5
avg_h264_qpel_8_mc30_10_c : 1458.5 1461.7 813.7 483.2
avg_h264_qpel_8_mc30_10_neon : 341.7 339.2 154.0 95.2
avg_h264_qpel_8_mc31_10_c : 2194.7 2197.2 1358.7 928.0
avg_h264_qpel_8_mc31_10_neon : 520.0 495.0 245.5 142.5
avg_h264_qpel_8_mc33_10_c : 2188.0 2205.5 1356.7 910.7
avg_h264_qpel_8_mc33_10_neon : 521.0 494.5 245.7 145.7
avg_h264_qpel_16_mc01_10_c : 3717.2 3595.0 2610.0 2012.0
avg_h264_qpel_16_mc01_10_neon : 920.5 791.5 483.2 240.5
avg_h264_qpel_16_mc02_10_c : 3684.0 3633.0 2659.0 1919.7
avg_h264_qpel_16_mc02_10_neon : 790.7 678.2 409.2 217.0
avg_h264_qpel_16_mc03_10_c : 3726.5 3596.0 2606.7 2010.0
avg_h264_qpel_16_mc03_10_neon : 922.0 792.5 483.2 239.7
avg_h264_qpel_16_mc10_10_c : 5912.0 5803.2 3241.5 1916.7
avg_h264_qpel_16_mc10_10_neon : 1267.5 1277.2 616.5 365.0
avg_h264_qpel_16_mc11_10_c : 8599.2 8482.5 5338.0 3616.2
avg_h264_qpel_16_mc11_10_neon : 1913.0 1827.0 956.2 542.2
avg_h264_qpel_16_mc13_10_c : 8643.7 8488.5 5388.0 3628.5
avg_h264_qpel_16_mc13_10_neon : 1914.7 1828.7 969.2 530.5
avg_h264_qpel_16_mc20_10_c : 5719.5 5641.0 3147.0 1946.2
avg_h264_qpel_16_mc20_10_neon : 1139.5 1150.0 539.5 344.0
avg_h264_qpel_16_mc30_10_c : 5930.0 5872.5 3267.5 1918.0
avg_h264_qpel_16_mc30_10_neon : 1331.5 1341.2 616.5 369.5
avg_h264_qpel_16_mc31_10_c : 8758.7 8697.7 5353.0 3630.7
avg_h264_qpel_16_mc31_10_neon : 2018.7 1941.7 982.2 574.7
avg_h264_qpel_16_mc33_10_c : 8683.2 8675.2 5339.2 3634.7
avg_h264_qpel_16_mc33_10_neon : 2019.7 1940.2 994.5 566.0
put_h264_qpel_8_mc01_10_c : 854.2 843.0 599.2 478.0
put_h264_qpel_8_mc01_10_neon : 192.7 168.0 101.7 56.7
put_h264_qpel_8_mc02_10_c : 766.5 760.0 550.2 441.0
put_h264_qpel_8_mc02_10_neon : 160.0 139.2 88.7 53.0
put_h264_qpel_8_mc03_10_c : 854.2 843.0 599.2 479.0
put_h264_qpel_8_mc03_10_neon : 194.2 169.7 102.0 56.2
put_h264_qpel_8_mc10_10_c : 1352.7 1353.7 749.7 446.7
put_h264_qpel_8_mc10_10_neon : 289.7 294.2 135.5 88.5
put_h264_qpel_8_mc11_10_c : 2080.0 2066.2 1309.5 876.7
put_h264_qpel_8_mc11_10_neon : 450.0 429.7 229.7 131.2
put_h264_qpel_8_mc13_10_c : 2074.7 2060.2 1294.5 870.5
put_h264_qpel_8_mc13_10_neon : 452.5 434.5 226.5 130.0
put_h264_qpel_8_mc20_10_c : 1221.5 1216.0 684.5 399.7
put_h264_qpel_8_mc20_10_neon : 257.7 262.5 121.2 78.7
put_h264_qpel_8_mc30_10_c : 1379.0 1374.7 757.2 449.5
put_h264_qpel_8_mc30_10_neon : 305.7 310.2 135.5 86.5
put_h264_qpel_8_mc31_10_c : 2109.2 2119.7 1299.5 878.0
put_h264_qpel_8_mc31_10_neon : 478.0 458.5 226.0 137.2
put_h264_qpel_8_mc33_10_c : 2101.5 2115.2 1306.5 887.0
put_h264_qpel_8_mc33_10_neon : 479.0 458.7 229.7 141.7
put_h264_qpel_16_mc01_10_c : 3485.7 3396.7 2460.5 1914.5
put_h264_qpel_16_mc01_10_neon : 752.5 665.5 397.0 213.2
put_h264_qpel_16_mc02_10_c : 3103.5 3023.2 2154.7 1720.7
put_h264_qpel_16_mc02_10_neon : 622.7 551.2 347.7 196.2
put_h264_qpel_16_mc03_10_c : 3486.2 3394.0 2436.5 1917.7
put_h264_qpel_16_mc03_10_neon : 754.0 666.5 397.0 215.7
put_h264_qpel_16_mc10_10_c : 5533.0 5488.5 2989.0 1783.0
put_h264_qpel_16_mc10_10_neon : 1123.5 1165.2 535.2 334.7
put_h264_qpel_16_mc11_10_c : 8437.7 8281.2 5209.0 3510.7
put_h264_qpel_16_mc11_10_neon : 1745.0 1697.0 878.5 513.5
put_h264_qpel_16_mc13_10_c : 8567.7 8468.0 5221.5 3528.0
put_h264_qpel_16_mc13_10_neon : 1751.7 1698.2 889.2 507.0
put_h264_qpel_16_mc20_10_c : 4907.5 4885.0 2786.2 1607.5
put_h264_qpel_16_mc20_10_neon : 995.5 1034.5 475.5 307.0
put_h264_qpel_16_mc30_10_c : 5579.7 5537.7 3045.2 1789.5
put_h264_qpel_16_mc30_10_neon : 1187.5 1231.2 532.5 334.5
put_h264_qpel_16_mc31_10_c : 8677.2 8672.5 5204.2 3516.0
put_h264_qpel_16_mc31_10_neon : 1850.7 1813.2 893.0 545.2
put_h264_qpel_16_mc33_10_c : 8688.7 8671.2 5223.2 3512.0
put_h264_qpel_16_mc33_10_neon : 1851.7 1814.2 908.5 535.2Signed-off-by : Mikhail Nitenko <mnitenko@gmail.com>
Signed-off-by : Martin Storsjö <martin@martin.st> -
Encode audio to aac with libavcodec
11 juin 2024, par ryanI'm using libavcodec (latest git as of 3/3/10) to encode raw pcm to aac
(libfaac support enabled). I do this by calling avcodec_encode_audio
repeatedly with codec_context->frame_size samples each time. The first four
calls return successfully, but the fifth call never returns. When I use gdb
to break, the stack is corrupt.



If I use audacity to export the pcm data to a .wav file, then I can use
command-line ffmpeg to convert to aac without any issues, so I'm sure it's
something I'm doing wrong.



I've written a small test program that duplicates my problem. It reads the
test data from a file, which is available here :
http://birdie.protoven.com/audio.pcm ( 2 seconds of signed 16 bit LE pcm)



I can make it all work if I use FAAC directly, but the code would be a little cleaner if I could just use libavcodec, as I'm also encoding video, and writing both to an mp4.



ffmpeg version info :



FFmpeg version git-c280040, Copyright (c) 2000-2010 the FFmpeg developers
 built on Mar 3 2010 15:40:46 with gcc 4.4.1
 configuration: --enable-libfaac --enable-gpl --enable-nonfree --enable-version3 --enable-postproc --enable-pthreads --enable-debug=3 --enable-shared
 libavutil 50.10. 0 / 50.10. 0
 libavcodec 52.55. 0 / 52.55. 0
 libavformat 52.54. 0 / 52.54. 0
 libavdevice 52. 2. 0 / 52. 2. 0
 libswscale 0.10. 0 / 0.10. 0
 libpostproc 51. 2. 0 / 51. 2. 0




Is there something I'm not setting, or setting incorrectly in my codec
context, maybe ? Any help is greatly appreciated !



Here is my test code :



#include 
#include <libavcodec></libavcodec>avcodec.h>

void EncodeTest(int sampleRate, int channels, int audioBitrate,
 uint8_t *audioData, size_t audioSize)
{
 AVCodecContext *audioCodec;
 AVCodec *codec;
 uint8_t *buf;
 int bufSize, frameBytes;

 avcodec_register_all();

 //Set up audio encoder
 codec = avcodec_find_encoder(CODEC_ID_AAC);
 if (codec == NULL) return;
 audioCodec = avcodec_alloc_context();
 audioCodec->bit_rate = audioBitrate;
 audioCodec->sample_fmt = SAMPLE_FMT_S16;
 audioCodec->sample_rate = sampleRate;
 audioCodec->channels = channels;
 audioCodec->profile = FF_PROFILE_AAC_MAIN;
 audioCodec->time_base = (AVRational){1, sampleRate};
 audioCodec->codec_type = CODEC_TYPE_AUDIO;
 if (avcodec_open(audioCodec, codec) < 0) return;

 bufSize = FF_MIN_BUFFER_SIZE * 10;
 buf = (uint8_t *)malloc(bufSize);
 if (buf == NULL) return;

 frameBytes = audioCodec->frame_size * audioCodec->channels * 2;
 while (audioSize >= frameBytes)
 {
 int packetSize;

 packetSize = avcodec_encode_audio(audioCodec, buf, bufSize, (short *)audioData);
 printf("encoder returned %d bytes of data\n", packetSize);
 audioData += frameBytes;
 audioSize -= frameBytes;
 }
}

int main()
{
 FILE *stream = fopen("audio.pcm", "rb");
 size_t size;
 uint8_t *buf;

 if (stream == NULL)
 {
 printf("Unable to open file\n");
 return 1;
 }

 fseek(stream, 0, SEEK_END);
 size = ftell(stream);
 fseek(stream, 0, SEEK_SET);
 buf = (uint8_t *)malloc(size);
 fread(buf, sizeof(uint8_t), size, stream);
 fclose(stream);

 EncodeTest(32000, 2, 448000, buf, size);
}