Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (82)

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le 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, par

    Les 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 2011

    MediaSPIP 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>

    • [DH] configure
  • lavc/aarch64 : h264qpel, add 10-bit lowpass_8_10 based functions

    4 décembre 2023, par Mikhail Nitenko
    lavc/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.2

    Signed-off-by : Mikhail Nitenko <mnitenko@gmail.com>
    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavcodec/aarch64/h264qpel_init_aarch64.c
    • [DH] libavcodec/aarch64/h264qpel_neon.S
  • Encode audio to aac with libavcodec

    11 juin 2024, par ryan

    I'm using libavcodec (latest git as of 3/3/10) to encode raw pcm to aac&#xA;(libfaac support enabled). I do this by calling avcodec_encode_audio&#xA;repeatedly with codec_context->frame_size samples each time. The first four&#xA;calls return successfully, but the fifth call never returns. When I use gdb&#xA;to break, the stack is corrupt.

    &#xA;&#xA;

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

    &#xA;&#xA;

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

    &#xA;&#xA;

    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.

    &#xA;&#xA;

    ffmpeg version info :

    &#xA;&#xA;

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

    &#xA;&#xA;

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

    &#xA;&#xA;

    Here is my test code :

    &#xA;&#xA;

    #include &#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;&#xA;void EncodeTest(int sampleRate, int channels, int audioBitrate,&#xA;    uint8_t *audioData, size_t audioSize)&#xA;{&#xA;    AVCodecContext  *audioCodec;&#xA;    AVCodec *codec;&#xA;    uint8_t *buf;&#xA;    int bufSize, frameBytes;&#xA;&#xA;    avcodec_register_all();&#xA;&#xA;    //Set up audio encoder&#xA;    codec = avcodec_find_encoder(CODEC_ID_AAC);&#xA;    if (codec == NULL) return;&#xA;    audioCodec = avcodec_alloc_context();&#xA;    audioCodec->bit_rate = audioBitrate;&#xA;    audioCodec->sample_fmt = SAMPLE_FMT_S16;&#xA;    audioCodec->sample_rate = sampleRate;&#xA;    audioCodec->channels = channels;&#xA;    audioCodec->profile = FF_PROFILE_AAC_MAIN;&#xA;    audioCodec->time_base = (AVRational){1, sampleRate};&#xA;    audioCodec->codec_type = CODEC_TYPE_AUDIO;&#xA;    if (avcodec_open(audioCodec, codec) &lt; 0) return;&#xA;&#xA;    bufSize = FF_MIN_BUFFER_SIZE * 10;&#xA;    buf = (uint8_t *)malloc(bufSize);&#xA;    if (buf == NULL) return;&#xA;&#xA;    frameBytes = audioCodec->frame_size * audioCodec->channels * 2;&#xA;    while (audioSize >= frameBytes)&#xA;    {&#xA;        int packetSize;&#xA;&#xA;        packetSize = avcodec_encode_audio(audioCodec, buf, bufSize, (short *)audioData);&#xA;        printf("encoder returned %d bytes of data\n", packetSize);&#xA;        audioData &#x2B;= frameBytes;&#xA;        audioSize -= frameBytes;&#xA;    }&#xA;}&#xA;&#xA;int main()&#xA;{&#xA;    FILE *stream = fopen("audio.pcm", "rb");&#xA;    size_t size;&#xA;    uint8_t *buf;&#xA;&#xA;    if (stream == NULL)&#xA;    {&#xA;        printf("Unable to open file\n");&#xA;        return 1;&#xA;    }&#xA;&#xA;    fseek(stream, 0, SEEK_END);&#xA;    size = ftell(stream);&#xA;    fseek(stream, 0, SEEK_SET);&#xA;    buf = (uint8_t *)malloc(size);&#xA;    fread(buf, sizeof(uint8_t), size, stream);&#xA;    fclose(stream);&#xA;&#xA;    EncodeTest(32000, 2, 448000, buf, size);&#xA;}&#xA;

    &#xA;