Recherche avancée

Médias (2)

Mot : - Tags -/documentation

Autres articles (52)

  • 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 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 : (...)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (9568)

  • FFMPEG merging audio and video to get resulting video

    26 septembre 2016, par King

    I need to merge audio and video using ffmpeg so that, it should result in a video with the same duration as of audio.

    I have tried 2 commands for that requirement in my linux terminal. Both the commands work for a few of the input videos ; but for some other input_videos, they produce output same as the input video, the audio doesn’t get merged.

    The commands, I have tried are -

    ffmpeg -i wonders.mp4 -i Carefull.mp3 -c copy testvid.mp4

    and

    ffmpeg -i wonders.mp4 -i Carefull.mp3 -strict -2 testvid.mp4

    and

    ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict
    experimental output.mp4

    and these are my input videos -

    1. samplevid.mp4

    https://vid.me/z44E

    duration - 28 seconds

    size - 1.1 MB

    status - working

    And

    1. wonders.mp4

    https://vid.me/gyyB

    duration - 97 seconds

    size - 96 MB

    status - not working

    I have observed that the large size (more than 2MB) of the input video is probably the issue.

    But, still I want the fix.

  • FFMPEG C++ API audio/video sync, video is longer [closed]

    11 mai 2023, par Gábor Gombor

    I create a video from frames in C++ with a given FPS and supply it to FFMPEG API. I record from an Unreal engine viewport and feed FFMPEG with the images. In this interval I have also an audio track in FLAC which I want sync with the video. When the music ends, I close the video and merge them, but the final video has sync problems, the video is a little bit longer than the audio, so I will have an increasing delay. For example I record 0:55 secs, the audio is ok=same length, but the video from frames will be 0:56 secs.

    


    I think the following code is problematic :

    


    bool MyVideoExporter::writeFrame(OutputStream* oStream, AVFrame* frame, int& framePTS)
{
    auto* packet = oStream->pkt->pkt;
    auto* codecContext = oStream->enc->codecContext;

    frame->pts = framePTS;
    frame->pkt_dts = frame->pts;

    auto ret = avcodec_send_frame(codecContext, frame);
    if (ret >= 0) {
        auto retVal = 0;
        while (retVal >= 0) {
            retVal = avcodec_receive_packet(codecContext, packet);
            if (retVal == AVERROR(EAGAIN) || retVal == AVERROR_EOF) break;
            else if (retVal < 0) {
                return false;
            }

            // rescale to audio, usually 1/44100
            av_packet_rescale_ts(packet, m_audiotimestamp, oStream->st->time_base);
            // rescale to FPS, usually 1/30 or 1/60
            av_packet_rescale_ts(packet, codecContext->time_base, oStream->st->time_base);

            packet->stream_index = oStream->st->index;

            retVal = av_interleaved_write_frame(m_avFormatContext.avFormatContext, packet);
            if (retVal < 0) {
                return false;
            }

            framePTS++;
        }

        return retVal == AVERROR_EOF;
    }

    return false;
}



    


    Any idea what is wrong ?

    


    I tried change the order of av_packet_rescale_ts lines or move the frame increase code to another places, but getting far worse results.

    


  • Re-encode a video keeping the GOP structure of the original video [closed]

    5 avril, par Baltar27

    Is there a way to re-encode a video with ffmpeg keeping the GOP structure of the original file ? That is, if a frame is IDR, I, B or P in the input file, keep the same type in the output file, even if the GOP is variable and/or adaptive (it changes dynamically GOP type Open/Closed, the I period N or the P period M). Encoding in this way allows to maintain the maximum quality as the Open/Closed, I/B/P and GOP length decisions has been taken already by the original encoder.