Recherche avancée

Médias (91)

Autres articles (57)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (8798)

  • Read Output in Batch

    29 septembre 2016, par arielbeje

    I am using this code to try and download a video+subtitles using youtube-dl and then combine them using ffmpeg.

    I am trying to set the video/subtitle output to title.extension instead of the regular title id.extesion, but to do that youtube-dl has a command that outputs it like an echo command, so I need to read it.

    @echo off
    echo Write a link and press enter
    set /p link=
    cls

    youtube-dl.exe -u myusername -p mypassword --skip-download --sub-lang enUS --sub-format "ass" --output "%(uploader)s%(title)s.%(ext)s" "%link%"
    youtube-dl.exe -u myusername -p mypassword -f worst --ffmpeg-location "%cd%\ffmpeg.exe" --hls-prefer-ffmpeg --console-title --output "%(uploader)s%(title)s.%(ext)s" "%link%"

    youtube-dl.exe -u myusername -p mypassword --skip-download --get-title "%link%" > title.txt
    for /f "delims=" %%x in (title.txt) do set title=%%x
    ffmpeg.exe -i "%cd%\%title%.flv" -vf "ass=%cd%\%title%.ass" "%cd%\%title%.mkv"
    pause
  • libpostproc : update APIChanges and version for "deprecate the AMD 3DNow"

    15 avril, par Sean McGovern
    libpostproc : update APIChanges and version for "deprecate the AMD 3DNow"
    

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] doc/APIchanges
    • [DH] libpostproc/postprocess.h
    • [DH] libpostproc/version.h
    • [DH] libpostproc/version_major.h
  • FFmpeg C demo generates "Could not update timestamps for skipped samples" warning

    14 juillet 2024, par aabiji

    When I run my demo code I get these warnings when testing it on a webm video :

    &#xA;

    [opus @ 0x5ec0fc1b4580] Could not update timestamps for skipped samples.&#xA;[opus @ 0x5ec0fc1b4580] Could not update timestamps for discarded samples.&#xA;

    &#xA;

    But it's not limited to webm, I also get this warning when running with a mp4 :

    &#xA;

    [aac @ 0x61326fb83700] Could not update timestamps for skipped samples.&#xA;

    &#xA;

    I know I'm getting warnings because ffmpeg must be skipping packets, but I have no idea why. Why are we skipping packets (and if that's not the problem, what is) and how can we fix the problem ?

    &#xA;

    Here's my code for context :

    &#xA;

    #include <libavcodec></libavcodec>avcodec.h>&#xA;#include <libavformat></libavformat>avformat.h>&#xA;&#xA;int main()&#xA;{&#xA;    int ret = 0;&#xA;&#xA;    const AVCodec* codec;&#xA;    AVFormatContext* fmt_ctx = avformat_alloc_context();&#xA;&#xA;    const char* file2 = "/home/aabiji/Videos/sync-test.webm";&#xA;    if ((ret = avformat_open_input(&amp;fmt_ctx, file2, NULL, NULL)) &lt; 0) {&#xA;        av_log(NULL, AV_LOG_ERROR, "Couldn&#x27;t open input file\n");&#xA;        return -1;&#xA;    }&#xA;&#xA;    ret = av_find_best_stream(fmt_ctx, AVMEDIA_TYPE_AUDIO, -1, -1, &amp;codec, 0);&#xA;    if (ret &lt; 0) {&#xA;        av_log(NULL, AV_LOG_ERROR, "Couldn&#x27;t find a media stream\n");&#xA;        return -1;&#xA;    }&#xA;&#xA;    int stream_index = ret;&#xA;    AVStream* media = fmt_ctx->streams[stream_index];&#xA;&#xA;    AVCodecContext* codec_context = avcodec_alloc_context3(codec);&#xA;    if (avcodec_parameters_to_context(codec_context, media->codecpar) &lt; 0) {&#xA;        return -1;&#xA;    }&#xA;&#xA;    if ((ret = avcodec_open2(codec_context, codec, NULL)) &lt; 0) {&#xA;        av_log(NULL, AV_LOG_ERROR, "Couldn&#x27;t open media decoder\n");&#xA;        return -1;&#xA;    }&#xA;&#xA;    AVPacket* packet = av_packet_alloc();&#xA;    AVFrame* frame = av_frame_alloc();&#xA;&#xA;    while ((ret = av_read_frame(fmt_ctx, packet)) >= 0) {&#xA;        if (packet->stream_index != stream_index) {&#xA;            continue;&#xA;        }&#xA;&#xA;        ret = avcodec_send_packet(codec_context, packet);&#xA;        if (ret &lt; 0) {&#xA;            break; // Error&#xA;        }&#xA;&#xA;        while (ret >= 0) {&#xA;            ret = avcodec_receive_frame(codec_context, frame);&#xA;            if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) {&#xA;                break;&#xA;            } else if (ret &lt; 0) {&#xA;                fprintf(stderr, "Error during decoding\n");&#xA;                break;&#xA;            }&#xA;            av_frame_unref(frame);&#xA;        }&#xA;&#xA;        av_packet_unref(packet);&#xA;    }&#xA;&#xA;    avcodec_flush_buffers(codec_context);&#xA;&#xA;    av_packet_unref(packet);&#xA;    av_frame_free(&amp;frame);&#xA;    av_packet_free(&amp;packet);&#xA;    avcodec_free_context(&amp;codec_context);&#xA;    avformat_close_input(&amp;fmt_ctx);&#xA;    return 0;&#xA;}&#xA;

    &#xA;