Recherche avancée

Médias (1)

Mot : - Tags -/musée

Autres articles (112)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • 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 (15305)

  • Encoding YUV file (uncompressed video) to mp4 playable file using H264 encoding with ffmpeg c++ (NOT command line)

    20 avril 2023, par devprog

    My goal is to encode a yuv file to a playable mp4 file (can be played with VLC) with ffmpeg c++ code.

    


    First I have a source_1920x1080p30.mpg video (compressed) file.
Using ffmpeg CLI I created output_test.yuv file.
ffmpeg -i source_1920x1080p30.mpg -c:v rawvideo -pix_fmt yuv420p output_test.yuv

    


    I used ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 output_test.yuv which played well.
Also used ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 30 -i output_test.yuv -c:v libx264 vid.mp4
and the new vid.mp4 was playble.
So I have good yuv file.

    


    I want to encode this output_test.yuv YUV file with ffmpeg by code.
I tested the ffmpeg site encode example ffmpeg site encode example and it was running good.

    


    In that example, the frames are self made inside the code - But I want that the input would be my YUV file.

    


    Becasue I used ffmpeg CLI to convert YUV to mp4 (as noted above) I am sure it can be done by code - but I dont how..

    


    So, I tried to add to their example the use of the methods :
avformat_open_input() & avformat_find_stream_info()

    


    #include &#xA;#include &#xA;#include &#xA;&#xA;extern "C" {&#xA;#include <libavformat></libavformat>avformat.h>&#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA; &#xA;#include <libavutil></libavutil>opt.h>&#xA;#include <libavutil></libavutil>imgutils.h>&#xA;} &#xA;// ffmpeg method.&#xA;static void encode(AVCodecContext *enc_ctx, AVFrame *frame, AVPacket *pkt,&#xA;                   FILE *outfile)&#xA;{&#xA;    int ret;&#xA; &#xA;    /* send the frame to the encoder */&#xA;    if (frame)&#xA;        printf("Send frame %3" PRId64 "\n", frame->pts);&#xA; &#xA;    ret = avcodec_send_frame(enc_ctx, frame);&#xA;    if (ret &lt; 0) {&#xA;        fprintf(stderr, "Error sending a frame for encoding\n");&#xA;        exit(1);&#xA;    }&#xA; &#xA;    while (ret >= 0) {&#xA;        ret = avcodec_receive_packet(enc_ctx, pkt);&#xA;        if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)&#xA;            return;&#xA;        else if (ret &lt; 0) {&#xA;            fprintf(stderr, "Error during encoding\n");&#xA;            exit(1);&#xA;        }&#xA; &#xA;        printf("Write packet %3" PRId64 " (size=%5d)\n", pkt->pts, pkt->size);&#xA;        fwrite(pkt->data, 1, pkt->size, outfile);&#xA;        av_packet_unref(pkt);&#xA;    }&#xA;}&#xA;&#xA;int main(int argc, char **argv)&#xA;{&#xA;    &#xA;    int ret;&#xA;    char errbuf[100];&#xA;&#xA;    AVFormatContext* ifmt_ctx = avformat_alloc_context();&#xA;&#xA;    AVDictionary* options = NULL;&#xA;    //av_dict_set(&amp;options, "framerate", "30", 0);&#xA;    av_dict_set(&amp;options, "video_size", "1920x1080", 0);&#xA;    av_dict_set(&amp;options,"pixel_format", "yuv420p",0);&#xA;    av_dict_set(&amp;options, "vcodec", "rawvideo", 0);&#xA;&#xA;    if ((ret = avformat_open_input(&amp;ifmt_ctx, "output_test.yuv", NULL, &amp;options)) &lt; 0) {&#xA;        av_strerror(ret, errbuf, sizeof(errbuf));&#xA;        fprintf(stderr, "Unable to open err=%s\n", errbuf);&#xA;    }&#xA;&#xA;    const AVCodec *pCodec = avcodec_find_decoder(AV_CODEC_ID_RAWVIDEO); //Get pointer to rawvideo codec.&#xA;&#xA;    AVCodecContext *pCodecContext = avcodec_alloc_context3(pCodec); //Allocate codec context.&#xA;&#xA;    //Fill the codec context based on the values from the codec parameters.&#xA;    AVStream *vid_stream = ifmt_ctx->streams[0];&#xA;    avcodec_parameters_to_context(pCodecContext, vid_stream->codecpar);&#xA;&#xA;    avcodec_open2(pCodecContext, pCodec, NULL); //Open the codec&#xA;&#xA;    //Allocate memory for packet and frame&#xA;    AVPacket *pPacket = av_packet_alloc();&#xA;    AVFrame *pFrame = av_frame_alloc();&#xA;&#xA;    // For output use:&#xA;    &#xA;    const char *filename, *codec_name;&#xA;    const AVCodec *codec;&#xA;    AVCodecContext *c= NULL;&#xA;    int i, x, y;&#xA;    FILE *f;&#xA;    // origin ffmpeg code - AVFrame *frame;&#xA;    AVPacket *pkt;&#xA;    uint8_t endcode[] = { 0, 0, 1, 0xb7 };&#xA; &#xA;    if (argc &lt;= 2) {&#xA;        fprintf(stderr, "Usage: %s <output file="file"> <codec>\n", argv[0]);&#xA;        exit(0);&#xA;    }&#xA;    filename = argv[1];&#xA;    codec_name = argv[2];&#xA; &#xA;    /* find the mpeg1video encoder */&#xA;    codec = avcodec_find_encoder_by_name(codec_name);&#xA;    if (!codec) {&#xA;        fprintf(stderr, "Codec &#x27;%s&#x27; not found\n", codec_name);&#xA;        exit(1);&#xA;    }&#xA; &#xA;    c = avcodec_alloc_context3(codec);&#xA;    if (!c) {&#xA;        fprintf(stderr, "Could not allocate video codec context\n");&#xA;        exit(1);&#xA;    }&#xA; &#xA;    pkt = av_packet_alloc();&#xA;    if (!pkt)&#xA;        exit(1);&#xA; &#xA;    /* put sample parameters */&#xA;    c->bit_rate = 400000;&#xA;    /* resolution must be a multiple of two */&#xA;    c->width = 352;&#xA;    c->height = 288;&#xA;    /* frames per second */&#xA;    c->time_base = (AVRational){1, 25};&#xA;    c->framerate = (AVRational){25, 1};&#xA; &#xA;    /* emit one intra frame every ten frames&#xA;     * check frame pict_type before passing frame&#xA;     * to encoder, if frame->pict_type is AV_PICTURE_TYPE_I&#xA;     * then gop_size is ignored and the output of encoder&#xA;     * will always be I frame irrespective to gop_size&#xA;     */&#xA;    c->gop_size = 10;&#xA;    c->max_b_frames = 1;&#xA;    c->pix_fmt = AV_PIX_FMT_YUV420P;&#xA; &#xA;    if (codec->id == AV_CODEC_ID_H264)&#xA;        av_opt_set(c->priv_data, "preset", "slow", 0);&#xA; &#xA;    /* open it */&#xA;    ret = avcodec_open2(c, codec, NULL);&#xA;    if (ret &lt; 0) {&#xA;        //fprintf(stderr, "Could not open codec: %s\n", av_err2str(ret));&#xA;        exit(1);&#xA;    }&#xA; &#xA;    f = fopen(filename, "wb");&#xA;    if (!f) {&#xA;        fprintf(stderr, "Could not open %s\n", filename);&#xA;        exit(1);&#xA;    }&#xA;// This is ffmpeg code that I removed   &#xA;//    frame = av_frame_alloc();&#xA;//    if (!frame) {&#xA;//        fprintf(stderr, "Could not allocate video frame\n");&#xA;//        exit(1);&#xA;//    }&#xA;//    frame->format = c->pix_fmt;&#xA;//    frame->width  = c->width;&#xA;//    frame->height = c->height;&#xA;// &#xA;//    ret = av_frame_get_buffer(frame, 0);&#xA;//    if (ret &lt; 0) {&#xA;//        fprintf(stderr, "Could not allocate the video frame data\n");&#xA;//        exit(1);&#xA;//    }&#xA;&#xA;    pFrame->format = c->pix_fmt;&#xA;    pFrame->width  = c->width;&#xA;    pFrame->height = c->height;&#xA;    &#xA;&#xA;    //Read video frames and pass through the decoder.&#xA;    //Note: Since the video is rawvideo, we don&#x27;t really have to pass it through the decoder.&#xA;    while (av_read_frame(ifmt_ctx, pPacket) >= 0) &#xA;    {&#xA;        //The video is not encoded - passing through the decoder is simply copy the data.&#xA;        avcodec_send_packet(pCodecContext, pPacket);    //Supply raw packet data as input to the "decoder".&#xA;        avcodec_receive_frame(pCodecContext, pFrame);   //Return decoded output data from the "decoder".&#xA;&#xA;        fflush(stdout);&#xA;// This is ffmpeg code that I removed  &#xA;//        /* Make sure the frame data is writable.&#xA;//           On the first round, the frame is fresh from av_frame_get_buffer()&#xA;//           and therefore we know it is writable.&#xA;//           But on the next rounds, encode() will have called&#xA;//           avcodec_send_frame(), and the codec may have kept a reference to&#xA;//           the frame in its internal structures, that makes the frame&#xA;//           unwritable.&#xA;//           av_frame_make_writable() checks that and allocates a new buffer&#xA;//           for the frame only if necessary.&#xA;//         */&#xA;//        ret = av_frame_make_writable(frame);&#xA;//        if (ret &lt; 0)&#xA;//            exit(1);&#xA;// &#xA;//        /* Prepare a dummy image.&#xA;//           In real code, this is where you would have your own logic for&#xA;//           filling the frame. FFmpeg does not care what you put in the&#xA;//           frame.&#xA;//         */&#xA;//        /* Y */&#xA;//        for (y = 0; y &lt; c->height; y&#x2B;&#x2B;) {&#xA;//            for (x = 0; x &lt; c->width; x&#x2B;&#x2B;) {&#xA;//                frame->data[0][y * frame->linesize[0] &#x2B; x] = x &#x2B; y &#x2B; i * 3;&#xA;//            }&#xA;//        }&#xA;// &#xA;//        /* Cb and Cr */&#xA;//        for (y = 0; y &lt; c->height/2; y&#x2B;&#x2B;) {&#xA;//            for (x = 0; x &lt; c->width/2; x&#x2B;&#x2B;) {&#xA;//                frame->data[1][y * frame->linesize[1] &#x2B; x] = 128 &#x2B; y &#x2B; i * 2;&#xA;//                frame->data[2][y * frame->linesize[2] &#x2B; x] = 64 &#x2B; x &#x2B; i * 5;&#xA;//            }&#xA;//        }&#xA; &#xA;        pFrame->pts = i;&#xA; &#xA;        /* encode the image */&#xA;        encode(c, pFrame, pkt, f);&#xA;    }&#xA; &#xA;    /* flush the encoder */&#xA;    encode(c, NULL, pkt, f);&#xA; &#xA;    /* Add sequence end code to have a real MPEG file.&#xA;       It makes only sense because this tiny examples writes packets&#xA;       directly. This is called "elementary stream" and only works for some&#xA;       codecs. To create a valid file, you usually need to write packets&#xA;       into a proper file format or protocol; see mux.c.&#xA;     */&#xA;    if (codec->id == AV_CODEC_ID_MPEG1VIDEO || codec->id == AV_CODEC_ID_MPEG2VIDEO)&#xA;        fwrite(endcode, 1, sizeof(endcode), f);&#xA;    fclose(f);&#xA; &#xA;    avcodec_free_context(&amp;c);&#xA;    av_frame_free(&amp;pFrame);&#xA;    av_packet_free(&amp;pkt);&#xA; &#xA;    return 0;&#xA;}&#xA;</codec></output>

    &#xA;

    EDIT : I added combined code of ffmpeg and reading/decoding from YUV file according @Rotem (thanks). Frame from decoder pushed right to encode() method of ffmpeg. The out video was not good... Should I manipulate the YUV input frame before send it to encode() method ? if yes how to do it ?

    &#xA;

  • ffmpeg stream recording : Invalid data found when processing input

    14 mai 2020, par uncommon_name

    I am trying to run this command :

    &#xA;&#xA;

    ffmpeg -re -i "playlist-78293.m3u8" -vcodec libx264 -vprofile baseline -g 30 -acodec aac -strict -2 -loglevel &#x2B;trace -f flv rtmp://127.0.0.1:1902/live2/78293&#xA;

    &#xA;&#xA;

    I get the Invalid data found when processing input error after running this.

    &#xA;&#xA;

    This is the output I get in console :

    &#xA;&#xA;

    ffmpeg version git-2020-05-01-39fb1e9 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 9.3.1 (GCC) 20200328&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf&#xA;  libavutil      56. 43.100 / 56. 43.100&#xA;  libavcodec     58. 82.100 / 58. 82.100&#xA;  libavformat    58. 42.101 / 58. 42.101&#xA;  libavdevice    58.  9.103 / 58.  9.103&#xA;  libavfilter     7. 80.100 /  7. 80.100&#xA;  libswscale      5.  6.101 /  5.  6.101&#xA;  libswresample   3.  6.100 /  3.  6.100&#xA;  libpostproc    55.  6.100 / 55.  6.100&#xA;Splitting the commandline.&#xA;Reading option &#x27;-re&#x27; ... matched as option &#x27;re&#x27; (read input at native frame rate) with argument &#x27;1&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;playlist-78293.m3u8&#x27;.&#xA;Reading option &#x27;-vcodec&#x27; ... matched as option &#x27;vcodec&#x27; (force video codec (&#x27;copy&#x27; to copy stream)) with argument &#x27;libx264&#x27;.&#xA;Reading option &#x27;-vprofile&#x27; ... matched as AVOption &#x27;vprofile&#x27; with argument &#x27;baseline&#x27;.&#xA;Reading option &#x27;-g&#x27; ... matched as AVOption &#x27;g&#x27; with argument &#x27;30&#x27;.&#xA;Reading option &#x27;-acodec&#x27; ... matched as option &#x27;acodec&#x27; (force audio codec (&#x27;copy&#x27; to copy stream)) with argument &#x27;aac&#x27;.&#xA;Reading option &#x27;-strict&#x27; ...Routing option strict to both codec and muxer layer&#xA; matched as AVOption &#x27;strict&#x27; with argument &#x27;-2&#x27;.&#xA;Reading option &#x27;-loglevel&#x27; ... matched as option &#x27;loglevel&#x27; (set logging level) with argument &#x27;&#x2B;trace&#x27;.&#xA;Reading option &#x27;-f&#x27; ... matched as option &#x27;f&#x27; (force format) with argument &#x27;flv&#x27;.&#xA;Reading option &#x27;rtmp://136.243.91.210:1902/live2/78293&#x27; ... matched as output url.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option loglevel (set logging level) with argument &#x2B;trace.&#xA;Successfully parsed a group of options.&#xA;Parsing a group of options: input url playlist-78293.m3u8.&#xA;Applying option re (read input at native frame rate) with argument 1.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: playlist-78293.m3u8.&#xA;[NULL @ 0000026316afd700] Opening &#x27;playlist-78293.m3u8&#x27; for reading&#xA;[file @ 0000026316afdec0] Setting default whitelist &#x27;file,crypto,data&#x27;&#xA;[AVIOContext @ 0000026316b06100] Statistics: 32070 bytes read, 0 seeks&#xA;playlist-78293.m3u8: Invalid data found when processing input&#xA;

    &#xA;&#xA;

    I simplified a part of the input file to present it here (for example the path part and the ts Urls) :

    &#xA;&#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-TARGETDURATION:6&#xA;#EXT-X-MEDIA-SEQUENCE:19981&#xA;#EXT-X-TWITCH-ELAPSED-SECS:39962.000&#xA;#EXT-X-TWITCH-TOTAL-SECS:39994.000&#xA;#EXT-X-DATERANGE:ID="1e265bc0de2e42cc8523222e6e9c8ba7",CLASS="twitch-assignment",START-DATE="2020-05-14T13:37:04.907Z",END-ON-NEXT=YES,X-TV-TWITCH-SERVING-ID="1e265bc0de2e42cc8523222e6e9c8ba7",X-TV-TWITCH-NODE="video-edge-18dbf4.jfk06",X-TV-TWITCH-CLUSTER="jfk06"&#xA;#EXT-X-DATERANGE:ID="source-1589462114",CLASS="twitch-stream-source",START-DATE="2020-05-14T13:15:14.907Z",END-ON-NEXT=YES,X-TV-TWITCH-STREAM-SOURCE="live"&#xA;#EXT-X-DATERANGE:ID="trigger-1589462114",CLASS="twitch-trigger",START-DATE="2020-05-14T13:15:14.907Z",END-ON-NEXT=YES,X-TV-TWITCH-TRIGGER-URL="**path**\playlist-78293.m3u8"&#xA;#EXT-X-PROGRAM-DATE-TIME:2020-05-14T13:38:00.907Z&#xA;#EXTINF:2.000,live&#xA;https://url.net/v1/segment/somestuff.ts&#xA;

    &#xA;&#xA;

    I'm new to ffmpeg. So any help would be appreciated.

    &#xA;

  • Some H264-mp4 videos can't be loaded by any non-Chromium based web browser

    3 mai 2020, par Laizrod

    I regularly use ffmpeg to encode some videos, blu-ray etc in mp4 files (encoded in H264 and AAC) in order to be played on web browsers.&#xA;Chromium based browsers such as Google Chrome or the new Microsoft Edge can play all of my files flawlessly.&#xA;But today I noticed that some video files couldn't be loaded by some web browsers. It looks like they can't be loaded by any non-Chromium based web browser. (Safari, Firefox etc..)

    &#xA;&#xA;

    So I decided to check out and compare the specs of files that work with any web browser, and files that doesn't work with non-Chromium based browsers.

    &#xA;&#xA;

    There's what I got :

    &#xA;&#xA;

      &#xA;
    • Playable by any web browser :
    • &#xA;

    &#xA;&#xA;

    General&#xA;Complete name                            : /storage/100.mp4&#xA;Format                                   : MPEG-4&#xA;Format profile                           : Base Media / Version 2&#xA;Codec ID                                 : mp42 (isom/iso2/avc1/mp41)&#xA;File size                                : 624 MiB&#xA;Duration                                 : 23 min 54 s&#xA;Overall bit rate                         : 3 648 kb/s&#xA;Encoded date                             : UTC 2019-10-02 22:15:27&#xA;Tagged date                              : UTC 2019-10-02 22:15:27&#xA;Writing application                      : HandBrake 1.2.2 2019022300&#xA;&#xA;Video&#xA;ID                                       : 1&#xA;Format                                   : AVC&#xA;Format/Info                              : Advanced Video Codec&#xA;Format profile                           : High@L4&#xA;Format settings                          : CABAC / 1 Ref Frames&#xA;Format settings, CABAC                   : Yes&#xA;Format settings, ReFrames                : 1 frame&#xA;Format settings, GOP                     : M=3, N=24&#xA;Codec ID                                 : avc1&#xA;Codec ID/Info                            : Advanced Video Coding&#xA;Duration                                 : 23 min 54 s&#xA;Bit rate                                 : 3 481 kb/s&#xA;Width                                    : 1 920 pixels&#xA;Height                                   : 1 080 pixels&#xA;Display aspect ratio                     : 16:9&#xA;Frame rate mode                          : Variable&#xA;Frame rate                               : 23.976 (24000/1001) FPS&#xA;Minimum frame rate                       : 23.974 FPS&#xA;Maximum frame rate                       : 23.981 FPS&#xA;Color space                              : YUV&#xA;Chroma subsampling                       : 4:2:0&#xA;Bit depth                                : 8 bits&#xA;Scan type                                : Progressive&#xA;Bits/(Pixel*Frame)                       : 0.070&#xA;Stream size                              : 595 MiB (95%)&#xA;Encoded date                             : UTC 2019-10-02 22:15:27&#xA;Tagged date                              : UTC 2019-10-02 22:15:27&#xA;Color range                              : Limited&#xA;Color primaries                          : BT.709&#xA;Transfer characteristics                 : BT.709&#xA;Matrix coefficients                      : BT.709&#xA;Codec configuration box                  : avcC&#xA;&#xA;Audio&#xA;ID                                       : 2&#xA;Format                                   : AAC LC&#xA;Format/Info                              : Advanced Audio Codec Low Complexity&#xA;Codec ID                                 : mp4a-40-2&#xA;Duration                                 : 23 min 54 s&#xA;Bit rate mode                            : Constant&#xA;Bit rate                                 : 160 kb/s&#xA;Channel(s)                               : 2 channels&#xA;Channel layout                           : L R&#xA;Sampling rate                            : 44.1 kHz&#xA;Frame rate                               : 43.066 FPS (1024 SPF)&#xA;Compression mode                         : Lossy&#xA;Stream size                              : 27.4 MiB (4%)&#xA;Title                                    : Stereo&#xA;Language                                 : Japanese&#xA;Default                                  : Yes&#xA;Alternate group                          : 1&#xA;Encoded date                             : UTC 2019-10-02 22:15:27&#xA;Tagged date                              : UTC 2019-10-02 22:15:27&#xA;

    &#xA;&#xA;

      &#xA;
    • Unplayable by non-chromium based web browsers :
    • &#xA;

    &#xA;&#xA;

    General&#xA;Complete name                            : /storage/DL/test.mp4&#xA;Format                                   : MPEG-4&#xA;Format profile                           : Base Media&#xA;Codec ID                                 : isom (isom/iso2/avc1/mp41)&#xA;File size                                : 329 MiB&#xA;Duration                                 : 23 min 52 s&#xA;Overall bit rate                         : 1 926 kb/s&#xA;Writing application                      : Lavf58.20.100&#xA;&#xA;Video&#xA;ID                                       : 1&#xA;Format                                   : AVC&#xA;Format/Info                              : Advanced Video Codec&#xA;Format profile                           : High@L4&#xA;Format settings                          : CABAC / 4 Ref Frames&#xA;Format settings, CABAC                   : Yes&#xA;Format settings, ReFrames                : 4 frames&#xA;Codec ID                                 : avc1&#xA;Codec ID/Info                            : Advanced Video Coding&#xA;Duration                                 : 23 min 52 s&#xA;Bit rate                                 : 1 792 kb/s&#xA;Width                                    : 1 920 pixels&#xA;Height                                   : 1 080 pixels&#xA;Display aspect ratio                     : 16:9&#xA;Frame rate mode                          : Constant&#xA;Frame rate                               : 23.976 (24000/1001) FPS&#xA;Color space                              : YUV&#xA;Chroma subsampling                       : 4:2:0&#xA;Bit depth                                : 8 bits&#xA;Scan type                                : Progressive&#xA;Bits/(Pixel*Frame)                       : 0.036&#xA;Stream size                              : 306 MiB (93%)&#xA;Writing library                          : x264 core 155 r2917 0a84d98&#xA;Encoding settings                        : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=34 / lookahead_threads=8 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=10 / rc=crf / mbtree=1 / crf=21.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00&#xA;Language                                 : Japanese&#xA;Codec configuration box                  : avcC&#xA;&#xA;Audio&#xA;ID                                       : 2&#xA;Format                                   : AAC LC&#xA;Format/Info                              : Advanced Audio Codec Low Complexity&#xA;Codec ID                                 : mp4a-40-2&#xA;Duration                                 : 23 min 52 s&#xA;Bit rate mode                            : Constant&#xA;Bit rate                                 : 128 kb/s&#xA;Channel(s)                               : 2 channels&#xA;Channel layout                           : L R&#xA;Sampling rate                            : 48.0 kHz&#xA;Frame rate                               : 46.875 FPS (1024 SPF)&#xA;Compression mode                         : Lossy&#xA;Stream size                              : 21.9 MiB (7%)&#xA;Language                                 : Japanese&#xA;Default                                  : Yes&#xA;Alternate group                          : 1&#xA;

    &#xA;&#xA;

    My knowledge is limited and I'm unable to understand why and which differences are causing my issue.&#xA;Can someone identify the problem and help me fix it with ffmpeg ?

    &#xA;&#xA;

    Thank you

    &#xA;