Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (70)

  • 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 ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (9415)

  • ffmpeg seek calculating wrong byte range ?

    12 mars 2020, par user4455

    I’m running into an issue while trying to extract thumbnails from a movie file at a specific timestamp. Generally I’ve had no issues with this, but I’ve come across a set of movie files that are getting an error about the byte range requested (416 Requested Range Not Satisfiable).

    The odd thing is that the server is correctly returning the content length in the partial content request, yet when it requests the movie file it requests a length that exceeds that.

    This is a bit over my head, so I’m not sure what could be happening here. Any insight would be great.

    The Command :

    /usr/bin/ffmpeg -y -ss 1400 -i 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4' -qscale:v 2 -f image2 -vframes 1 -filter:v 'scale=192:108' -loglevel debug /data/www/storage/test.jpg 2>&1

    The Error :

    [https @ 0x22e1e00] header='HTTP/1.1 416 Requested Range Not Satisfiable'
    [https @ 0x22e1e00] http_code=416
    [https @ 0x22e1e00] HTTP error 416 Requested Range Not Satisfiable

    Source File Size :

    1776706045 bytes

    Source Content Duration :

    2897.624271

    Partial Content Request :

    [https @ 0x22e1e00] header='HTTP/1.1 206 Partial Content'
    [https @ 0x22e1e00] http_code=206
    [https @ 0x22e1e00] header='x-amz-id-2: 4J1pgHExIUA0GxIxSBmGJjrRqliHbsIjXeuGzVfTlaaoVXbyZI5FQNma8fGaifcovkXfxJev5yU='
    [https @ 0x22e1e00] header='x-amz-request-id: 78B3BDBB0356EF40'
    [https @ 0x22e1e00] header='Date: Wed, 16 Dec 2015 23:51:29 GMT'
    [https @ 0x22e1e00] header='x-amz-meta-content-length: 2898'
    [https @ 0x22e1e00] header='x-amz-meta-cb-modifiedtime: Tue, 15 Dec 2015 17:59:51 GMT'
    [https @ 0x22e1e00] header='Last-Modified: Wed, 16 Dec 2015 23:44:59 GMT'
    [https @ 0x22e1e00] header='ETag: "6341a8022630667a8070a83575e542e7-27"'
    [https @ 0x22e1e00] header='Accept-Ranges: bytes'
    [https @ 0x22e1e00] header='Content-Range: bytes 0-1776706044/1776706045'
    [https @ 0x22e1e00] header='Content-Type: video/mp4'
    [https @ 0x22e1e00] header='Content-Length: 1776706045'
    [https @ 0x22e1e00] header='Server: AmazonS3'
    [https @ 0x22e1e00] header='Connection: close'

    FFmpeg Request :

    request: GET /my-bucket/mymoviefile.mp4 HTTP/1.1
    User-Agent: Lavf/56.25.101
    Accept: */*
    Range: bytes=1781732960-
    Connection: close
    Host: s3-us-west-2.amazonaws.com
    Icy-MetaData: 1

    Entire Log :

    # /usr/bin/ffmpeg -y -ss 1400 -i 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4' -qscale:v 2 -f image2 -vframes 1 -filter:v 'scale=192:108' -loglevel debug /data/www/storage/test.jpg 2>&1
    ffmpeg version 2.6.4 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (Debian 4.9.2-10)
     configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
     libavutil      54. 20.100 / 54. 20.100
     libavcodec     56. 26.100 / 56. 26.100
     libavformat    56. 25.101 / 56. 25.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 11.102 /  5. 11.102
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Splitting the commandline.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '1400'.
    Reading option '-i' ... matched as input file with argument 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4'.
    Reading option '-qscale:v' ... matched as option 'qscale' (use fixed quality scale (VBR)) with argument '2'.
    Reading option '-f' ... matched as option 'f' (force format) with argument 'image2'.
    Reading option '-vframes' ... matched as option 'vframes' (set the number of video frames to output) with argument '1'.
    Reading option '-filter:v' ... matched as option 'filter' (set stream filtergraph) with argument 'scale=192:108'.
    Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
    Reading option '/data/www/storage/test.jpg' ... matched as output file.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option y (overwrite output files) with argument 1.
    Applying option loglevel (set logging level) with argument debug.
    Successfully parsed a group of options.
    Parsing a group of options: input file https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4.
    Applying option ss (set the start time offset) with argument 1400.
    Successfully parsed a group of options.
    Opening an input file: https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4.
    [https @ 0x22e1e00] request: GET /my-bucket/mymoviefile.mp4 HTTP/1.1
    User-Agent: Lavf/56.25.101
    Accept: */*
    Range: bytes=0-
    Connection: close
    Host: s3-us-west-2.amazonaws.com
    Icy-MetaData: 1


    [https @ 0x22e1e00] header='HTTP/1.1 206 Partial Content'
    [https @ 0x22e1e00] http_code=206
    [https @ 0x22e1e00] header='x-amz-id-2: 4J1pgHExIUA0GxIxSBmGJjrRqliHbsIjXeuGzVfTlaaoVXbyZI5FQNma8fGaifcovkXfxJev5yU='
    [https @ 0x22e1e00] header='x-amz-request-id: 78B3BDBB0356EF40'
    [https @ 0x22e1e00] header='Date: Wed, 16 Dec 2015 23:51:29 GMT'
    [https @ 0x22e1e00] header='x-amz-meta-content-length: 2898'
    [https @ 0x22e1e00] header='x-amz-meta-cb-modifiedtime: Tue, 15 Dec 2015 17:59:51 GMT'
    [https @ 0x22e1e00] header='Last-Modified: Wed, 16 Dec 2015 23:44:59 GMT'
    [https @ 0x22e1e00] header='ETag: "6341a8022630667a8070a83575e542e7-27"'
    [https @ 0x22e1e00] header='Accept-Ranges: bytes'
    [https @ 0x22e1e00] header='Content-Range: bytes 0-1776706044/1776706045'
    [https @ 0x22e1e00] header='Content-Type: video/mp4'
    [https @ 0x22e1e00] header='Content-Length: 1776706045'
    [https @ 0x22e1e00] header='Server: AmazonS3'
    [https @ 0x22e1e00] header='Connection: close'
    [https @ 0x22e1e00] header=''
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] ISO: File Type Major Brand: mp42
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] Before avformat_find_stream_info() pos: 1647960 bytes read:1652200 seeks:0
    [h264 @ 0x22e92c0] no picture
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] All info found
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] After avformat_find_stream_info() pos: 1862326 bytes read:1878504 seeks:0 frames:16
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 1
       compatible_brands: isommp41avc1
       creation_time   : 2015-11-18 02:34:41
     Duration: 00:48:17.70, start: 0.000000, bitrate: 4905 kb/s
       Stream #0:0(und), 15, 1/2997: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 1001/60000, 9994 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 59.94 tbc (default)
       Metadata:
         creation_time   : 2015-11-18 02:34:41
         handler_name    : ?Apple Video Media Handler
       Stream #0:1(und), 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
       Metadata:
         creation_time   : 2015-11-18 02:34:41
         handler_name    : ?Apple Sound Media Handler
    Successfully opened the file.
    Parsing a group of options: output file /data/www/storage/test.jpg.
    Applying option qscale:v (use fixed quality scale (VBR)) with argument 2.
    Applying option f (force format) with argument image2.
    Applying option vframes (set the number of video frames to output) with argument 1.
    Applying option filter:v (set stream filtergraph) with argument scale=192:108.
    Successfully parsed a group of options.
    Opening an output file: /data/www/storage/test.jpg.
    Successfully opened the file.
    detected 2 logical cores
    [Parsed_scale_0 @ 0x22cd4c0] Setting 'w' to value '192'
    [Parsed_scale_0 @ 0x22cd4c0] Setting 'h' to value '108'
    [Parsed_scale_0 @ 0x22cd4c0] Setting 'flags' to value '0x4'
    [Parsed_scale_0 @ 0x22cd4c0] w:192 h:108 flags:'0x4' interl:0
    [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'video_size' to value '1920x1080'
    [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'pix_fmt' to value '0'
    [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'time_base' to value '1/2997'
    [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'pixel_aspect' to value '1/1'
    [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'sws_param' to value 'flags=2'
    [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'frame_rate' to value '2997/100'
    [graph 0 input from stream 0:0 @ 0x22ccfe0] w:1920 h:1080 pixfmt:yuv420p tb:1/2997 fr:2997/100 sar:1/1 sws_param:flags=2
    [format @ 0x2798640] compat: called with args=[yuvj420p|yuvj422p|yuvj444p]
    [format @ 0x2798640] Setting 'pix_fmts' to value 'yuvj420p|yuvj422p|yuvj444p'
    [AVFilterGraph @ 0x22cda60] query_formats: 5 queried, 4 merged, 0 already done, 0 delayed
    [Parsed_scale_0 @ 0x22cd4c0] picking yuvj420p out of 3 ref:yuv420p alpha:0
    [swscaler @ 0x22c3c80] deprecated pixel format used, make sure you did set range correctly
    [Parsed_scale_0 @ 0x22cd4c0] w:1920 h:1080 fmt:yuv420p sar:1/1 -> w:192 h:108 fmt:yuvj420p sar:1/1 flags:0x4
    [mjpeg @ 0x2854e20] intra_quant_bias = 96 inter_quant_bias = 0
    [mjpeg @ 0x28716c0] intra_quant_bias = 96 inter_quant_bias = 0
    [mjpeg @ 0x2795320] intra_quant_bias = 96 inter_quant_bias = 0
    Output #0, image2, to '/data/www/storage/test.jpg':
     Metadata:
       major_brand     : mp42
       minor_version   : 1
       compatible_brands: isommp41avc1
       encoder         : Lavf56.25.101
       Stream #0:0(und), 0, 100/2997: Video: mjpeg, yuvj420p(pc, left), 192x108 [SAR 1:1 DAR 16:9], 100/2997, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc (default)
       Metadata:
         creation_time   : 2015-11-18 02:34:41
         handler_name    : ?Apple Video Media Handler
         encoder         : Lavc56.26.100 mjpeg
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
    Press [q] to stop, [?] for help
    [https @ 0x22e1e00] request: GET /my-bucket/mymoviefile.mp4 HTTP/1.1
    User-Agent: Lavf/56.25.101
    Accept: */*
    Range: bytes=1781732960-
    Connection: close
    Host: s3-us-west-2.amazonaws.com
    Icy-MetaData: 1


    [https @ 0x22e1e00] header='HTTP/1.1 416 Requested Range Not Satisfiable'
    [https @ 0x22e1e00] http_code=416
    [https @ 0x22e1e00] HTTP error 416 Requested Range Not Satisfiable
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] stream 0, offset 0x6a331660: partial file
    https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4: Invalid data found when processing input
    [output stream 0:0 @ 0x22d7500] EOF on sink link output stream 0:0:default.
    No more output streams to write to, finishing.
    frame=    0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A
    video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Input file #0 (https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4):
     Input stream #0:0 (video): 0 packets read (0 bytes); 0 frames decoded;
     Input stream #0:1 (audio): 0 packets read (0 bytes);
     Total: 0 packets (0 bytes) demuxed
    Output file #0 (/data/www/storage/test.jpg):
     Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
     Total: 0 packets (0 bytes) muxed
    Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
    0 frames successfully decoded, 0 decoding errors
    [AVIOContext @ 0x27ab100] Statistics: 1878504 bytes read, 0 seeks

    FFprobe Result :

    # /usr/bin/ffprobe -show_format -show_streams -i 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4'
    ffprobe version 2.6.4 Copyright (c) 2007-2015 the FFmpeg developers
     built with gcc 4.9.2 (Debian 4.9.2-10)
     configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
     libavutil      54. 20.100 / 54. 20.100
     libavcodec     56. 26.100 / 56. 26.100
     libavformat    56. 25.101 / 56. 25.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 11.102 /  5. 11.102
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 1
       compatible_brands: isommp41avc1
       creation_time   : 2015-11-18 02:34:41
     Duration: 00:48:17.70, start: 0.000000, bitrate: 4905 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 9994 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 59.94 tbc (default)
       Metadata:
         creation_time   : 2015-11-18 02:34:41
         handler_name    : ?Apple Video Media Handler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
       Metadata:
         creation_time   : 2015-11-18 02:34:41
         handler_name    : ?Apple Sound Media Handler
    [STREAM]
    index=0
    codec_name=h264
    codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    profile=High
    codec_type=video
    codec_time_base=1001/60000
    codec_tag_string=avc1
    codec_tag=0x31637661
    width=1920
    height=1080
    has_b_frames=1
    sample_aspect_ratio=1:1
    display_aspect_ratio=16:9
    pix_fmt=yuv420p
    level=40
    color_range=tv
    color_space=unknown
    color_transfer=unknown
    color_primaries=unknown
    chroma_location=left
    timecode=N/A
    refs=3
    is_avc=1
    nal_length_size=4
    id=N/A
    r_frame_rate=2997/100
    avg_frame_rate=2997/100
    time_base=1/2997
    start_pts=0
    start_time=0.000000
    duration_ts=8684300
    duration=2897.664331
    bit_rate=9994429
    max_bit_rate=N/A
    bits_per_raw_sample=8
    nb_frames=86843
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=1
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    TAG:creation_time=2015-11-18 02:34:41
    TAG:language=und
    TAG:handler_name=Apple Video Media Handler
    [/STREAM]
    [STREAM]
    index=1
    codec_name=aac
    codec_long_name=AAC (Advanced Audio Coding)
    profile=LC
    codec_type=audio
    codec_time_base=1/48000
    codec_tag_string=mp4a
    codec_tag=0x6134706d
    sample_fmt=fltp
    sample_rate=48000
    channels=2
    channel_layout=stereo
    bits_per_sample=0
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/48000
    start_pts=0
    start_time=0.000000
    duration_ts=139085965
    duration=2897.624271
    bit_rate=192002
    max_bit_rate=N/A
    bits_per_raw_sample=N/A
    nb_frames=135828
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=1
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    TAG:creation_time=2015-11-18 02:34:41
    TAG:language=und
    TAG:handler_name=Apple Sound Media Handler
    [/STREAM]
    [FORMAT]
    filename=https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4
    nb_streams=2
    nb_programs=0
    format_name=mov,mp4,m4a,3gp,3g2,mj2
    format_long_name=QuickTime / MOV
    start_time=0.000000
    duration=2897.695000
    size=1776706045
    bit_rate=4905156
    probe_score=100
    TAG:major_brand=mp42
    TAG:minor_version=1
    TAG:compatible_brands=isommp41avc1
    TAG:creation_time=2015-11-18 02:34:41
    [/FORMAT]
  • libx264 encoder video plays too fast

    23 avril 2014, par Nick

    I’m trying to write a program that uses libx264 to encode the video frames. I’ve wrapped this code into a small class (see below). I have frames that are in YUV420 format. libx264 encodes the frames and I save them to a file. I can play the file back in VLC, all of the frames are there, but it plays back at several hundred times the actual frame rate. Currently I am capturing frames at 2.5 FPS, but they play back as if it was recorded at 250 or more FPS. I’ve tried to change the frame rate with no luck.

    I’ve also tried to set

    _param.b_vfr_input = 1

    and then set the time bases appropriately, but that causes my program to crash. Any ideas ? My encode code is shown below. I’ve also included the output of ffprobe -show_frames

    Wrapper Class :

    x264wrapper::x264wrapper(int width, int height, int fps, int timeBaseNum, int timeBaseDen, int vfr)
    {
       x264_param_default_preset(&_param, "veryfast", "zerolatency");
       _param.i_threads = 1;
       _param.i_width = width;
       _param.i_height = height;
       _param.i_fps_num = fps;
       _param.i_fps_den = 1;
       // Intra refres:
       _param.i_keyint_max = fps;
       _param.b_intra_refresh = 1;
       //Rate control:
       _param.rc.i_rc_method = X264_RC_CRF;
       //_param.rc.i_rc_method = X264_RC_CQP;
       _param.rc.f_rf_constant = 25;
       _param.rc.f_rf_constant_max = 35;
       //For streaming:
       _param.b_repeat_headers = 1;
       _param.b_annexb = 1;    
       // misc
       _param.b_vfr_input = vfr;
       _param.i_timebase_num = timeBaseNum;
       _param.i_timebase_den = timeBaseDen;

       _param.i_log_level = X264_LOG_DEBUG;

       _encoder = x264_encoder_open(&_param);

       cout << "Timebase " << _param.i_timebase_num << "/" << _param.i_timebase_den << endl;
       cout << "fps " << _param.i_fps_num << "/" << _param.i_fps_den << endl;
       _ticks_per_frame = (int64_t)_param.i_timebase_den * _param.i_fps_den / _param.i_timebase_num / _param.i_fps_num;
       cout << "ticks_per_frame " << _ticks_per_frame << endl;
       int result = x264_picture_alloc(&_pic_in, X264_CSP_I420, width, height);
       if (result != 0)
       {
           cout << "Failed to allocate picture" << endl;
           throw(1);
       }

       _ofs = new ofstream("output.h264", ofstream::out | ofstream::binary);
       _pts = 0;
    }


    x264wrapper::~x264wrapper(void)
    {
       _ofs->close();
    }



    void x264wrapper::encode(uint8_t * buf)
    {
       x264_nal_t* nals;
       int i_nals;
       convertFromBalserToX264(buf);
       _pts += _ticks_per_frame;
       _pic_in.i_pts = _pts;
       x264_picture_t pic_out;
       int frame_size = x264_encoder_encode(_encoder, &nals, &i_nals, &_pic_in, &pic_out);
       if (frame_size >= 0)
       {
           _ofs->write((char*)nals[0].p_payload, frame_size);
       }
       else
       {
           cout << "error: x264_encoder_encode failed" << endl;
       }
    }

    Output of ffprobe -show_frames :

    [FRAME]
    media_type=video
    key_frame=1
    pkt_pts=N/A
    pkt_pts_time=N/A
    pkt_dts=N/A
    pkt_dts_time=N/A
    pkt_duration=48000
    pkt_duration_time=0.040000
    pkt_pos=0
    width=1920
    height=1080
    pix_fmt=yuv420p
    sample_aspect_ratio=N/A
    pict_type=I
    coded_picture_number=0
    display_picture_number=0
    interlaced_frame=0
    top_field_first=0
    repeat_pict=0
    reference=0
    [/FRAME]
    [FRAME]
    media_type=video
    key_frame=0
    pkt_pts=N/A
    pkt_pts_time=N/A
    pkt_dts=N/A
    pkt_dts_time=N/A
    pkt_duration=N/A
    pkt_duration_time=N/A
    pkt_pos=54947
    width=1920
    height=1080
    pix_fmt=yuv420p
    sample_aspect_ratio=N/A
    pict_type=P
    coded_picture_number=1
    display_picture_number=0
    interlaced_frame=0
    top_field_first=0
    repeat_pict=0
    reference=0
    [/FRAME]
    [FRAME]
    media_type=video
    key_frame=0
    pkt_pts=N/A
    pkt_pts_time=N/A
    pkt_dts=N/A
    pkt_dts_time=N/A
    pkt_duration=N/A
    pkt_duration_time=N/A
    pkt_pos=57899
    width=1920
    height=1080
    pix_fmt=yuv420p
    sample_aspect_ratio=N/A
    pict_type=P
    coded_picture_number=2
    display_picture_number=0
    interlaced_frame=0
    top_field_first=0
    repeat_pict=0
    reference=0
    [/FRAME]
  • setting bit rates in creating video from images in ffmpeg not working

    2 mai 2014, par mast kalandar

    I have a HQ video of one second

    Some information of this video is as below

    Dimensions : 1920 x 1080    
    Codec : H.264    
    Framerate : 30 frames per second    
    Size : 684.7 kB (6,84,673 bytes)
    Bitrates : 5458 kbps

    I have extracted frames from video

    ffmpeg -i f1.mp4 f%d.jpg

    All images are of 1920 x 1020 pixels by default 30 frames are generated (f7_1.jpg, f7_2.jpg,.....,f7_30.jpg)

    I have added some texts and objects to these images (without changing dimensions of any image, all 30 images are still of 1920 x 1020 pixels)

    Now I am trying to merge all these images to create single video (of 1 second)

    I referred this official document, I have run below command

    ffmpeg -f image2 -i f7_%d.jpg -r 30 -b:v 5458k foo_5458_2.mp4

    Video created is also of one second, thing is its bit rates are higher then the original one. New video has 6091 kbps bit rates, while I expect are 5458 kbps only.

    Because of higher bits, its gets finish very quickly compare to original video in video player.

    Is there any thing I missing ??

    And I don’t know what is exact meaning and job of -f image2 option, when I run command without this option, I am getting same video.