Newest 'ffmpeg' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/ffmpeg

Les articles publiés sur le site

  • automatic generate list ffmpeg trimming video files [duplicate]

    20 mai 2019, par Don

    This question already has an answer here:

    May I ask if there is an automatic way to input all the mp4 file names in the ffmpge code ? I have about 60 small video files that I need to trim, it is a pain if I have to keep entering individual file name. the mylist.txt generate only works with when concat

  • Get motion vectors coordinates from next and previous frames durring transcoding in FFMPEG

    20 mai 2019, par Enock

    Can someone tells me how can I get values of motion vectors for next and previous frames in FFMPEG during transcoding, please? I can use MpegEncContext* s->mv_table to have values of motions vectors for current picture. But I need to get also MVs values for next and previous frame. How can I do ?

  • What is the best way to check if audio embedded in video is ambisonic ?

    20 mai 2019, par GrzegorzW

    We are making 360 video player for VR headsets using Unity. We are trying to achieve spatial audio. The easiest case is when video and audio are in separated files, but now we decided to support also videos with embedded audio. I need to know before i load video if audio is ambisonic or not. I'm looking for an easy way to decide if audio is ambisonic in order to separate it from video and convert to .tbe file, which is currently supported by our app.

    I was trying to use ffmpeg:

    $./ffmpeg.exe -i ~/Videos/video.mp4
    

    and got:

    ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
      built with gcc 8.3.1 (GCC) 20190414
      configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --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-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
      libavutil      56. 22.100 / 56. 22.100
      libavcodec     58. 35.100 / 58. 35.100
      libavformat    58. 20.100 / 58. 20.100
      libavdevice    58.  5.100 / 58.  5.100
      libavfilter     7. 40.101 /  7. 40.101
      libswscale      5.  3.100 /  5.  3.100
      libswresample   3.  3.100 /  3.  3.100
      libpostproc    55.  3.100 / 55.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:/Users/Medion/Videos/video.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf57.56.101
      Duration: 00:11:39.40, start: 0.000000, bitrate: 17290 kb/s
        Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 16497 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Side data:
          stereo3d: top and bottom
          spherical: equirectangular (0.000000/0.000000/0.000000)
        Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 4.0, fltp, 778 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
        Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 4.0, fltp, 4 kb/s
        Metadata:
          handler_name    : SoundHandler
        Stream #0:3(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s
        Metadata:
          handler_name    : SoundHandler
    At least one output file must be specified
    

    but I don't see any line that could indicate that audio is ambisonic. I see that there are 4 channels in streams #0:1 and #0:2, but I bet it's not enough.

    I've also tried MediaInfo but it's the same thing:

    General
    CompleteName                     : C:\Users\Medion\Videos\video.mp4
    Format/String                    : MPEG-4
    Format_Profile                   : Base Media
    CodecID/String                   : isom (isom/iso2/avc1/mp41)
    FileSize/String                  : 1.41 GiB
    Duration/String                  : 11 min 39 s
    OverallBitRate_Mode/String       : Variable
    OverallBitRate/String            : 17.3 Mb/s
    Encoded_Application/String       : Lavf57.56.101
    
    Video
    ID/String                        : 1
    Format/String                    : AVC
    Format/Info                      : Advanced Video Codec
    Format_Profile                   : High@L5.2
    Format_Settings                  : CABAC / 3 Ref Frames
    Format_Settings_CABAC/String     : Yes
    Format_Settings_RefFrames/String : 3 frames
    Format_Settings_GOP              : M=3, N=29
    CodecID                          : avc1
    CodecID/Info                     : Advanced Video Coding
    Duration/String                  : 11 min 39 s
    BitRate_Mode/String              : Variable
    BitRate/String                   : 16.5 Mb/s
    BitRate_Maximum/String           : 20.0 Mb/s
    Width/String                     : 3 840 pixels
    Height/String                    : 2 160 pixels
    DisplayAspectRatio/String        : 16:9
    FrameRate_Mode/String            : Constant
    FrameRate/String                 : 29.970 (30000/1001) FPS
    Standard                         : NTSC
    ColorSpace                       : YUV
    ChromaSubsampling/String         : 4:2:0
    BitDepth/String                  : 8 bits
    ScanType/String                  : Progressive
    Bits-(Pixel*Frame)               : 0.066
    StreamSize/String                : 1.34 GiB (95%)
    Language/String                  : English
    Tagged_Date                      : UTC 2017-06-13 17:37:51
    colour_range                     : Limited
    colour_primaries                 : BT.709
    transfer_characteristics         : BT.709
    matrix_coefficients              : BT.709
    Codec configuration box          : avcC
    
    Audio #1
    ID/String                        : 2
    Format/String                    : AAC LC
    Format/Info                      : Advanced Audio Codec Low Complexity
    CodecID                          : mp4a-40-2
    Duration/String                  : 11 min 39 s
    Source_Duration/String           : 11 min 39 s
    BitRate_Mode/String              : Constant
    BitRate/String                   : 779 kb/s
    Channel(s)/String                : 4 channels
    ChannelLayout                    : C L R Cb
    SamplingRate/String              : 48.0 kHz
    FrameRate/String                 : 46.875 FPS (1024 SPF)
    Compression_Mode/String          : Lossy
    StreamSize/String                : 64.9 MiB (5%)
    Source_StreamSize/String         : 64.9 MiB (5%)
    Default/String                   : Yes
    AlternateGroup/String            : 1
    Tagged_Date                      : UTC 2017-06-13 17:37:51
    
    Audio #2
    ID/String                        : 3
    Format/String                    : AAC LC
    Format/Info                      : Advanced Audio Codec Low Complexity
    CodecID                          : mp4a-40-2
    Duration/String                  : 11 min 39 s
    Source_Duration/String           : 11 min 39 s
    BitRate_Mode/String              : Variable
    BitRate/String                   : 4 900 b/s
    BitRate_Maximum/String           : 266 kb/s
    Channel(s)/String                : 4 channels
    ChannelLayout                    : C L R Cb
    SamplingRate/String              : 48.0 kHz
    FrameRate/String                 : 46.875 FPS (1024 SPF)
    Compression_Mode/String          : Lossy
    StreamSize/String                : 418 KiB (0%)
    Source_StreamSize/String         : 418 KiB (0%)
    Default/String                   : No
    AlternateGroup/String            : 1
    Tagged_Date                      : UTC 2017-06-13 17:37:51
    
    Audio #3
    ID/String                        : 4
    Format/String                    : AAC LC
    Format/Info                      : Advanced Audio Codec Low Complexity
    CodecID                          : mp4a-40-2
    Duration/String                  : 11 min 39 s
    Source_Duration/String           : 11 min 39 s
    BitRate_Mode/String              : Variable
    BitRate/String                   : 2 275 b/s
    BitRate_Maximum/String           : 128 kb/s
    Channel(s)/String                : 2 channels
    ChannelLayout                    : L R
    SamplingRate/String              : 48.0 kHz
    FrameRate/String                 : 46.875 FPS (1024 SPF)
    Compression_Mode/String          : Lossy
    StreamSize/String                : 194 KiB (0%)
    Source_StreamSize/String         : 194 KiB (0%)
    Default/String                   : No
    AlternateGroup/String            : 1
    Tagged_Date                      : UTC 2017-06-13 17:37:51
    

    I assume that I don't know what to look for in those outputs. Thanks in advance.

  • FFMpeg - can't manage to create DnxHR files in Rec2020 / 4:4:4 Chroma sampling

    20 mai 2019, par Shouille

    I'm trying to convert an image sequence into a Quicktime DnxHR with 4:4:4 sampling in Rec2020 colorspace using FFMpeg 4.1.3. But I'm always ending with 4:2:0 Rec709 file.

    In my lastest attempt FFMpeg seems to de the right thing :

    ffmpeg.exe -y -i "C:/TEST/final-%04d.dpx" -c:v dnxhd -vf "scale=3840:2160,fps=24,format=yuv444p12le" -profile:v dnxhr_444 -color_primaries 9 -colorspace 9 -color_range 2 C:/TEST/test.mov
    

    During encoding the output stream is shown as 444 / bt2020

    Output #0, mov, to 'C:/TEST/test.mov':
      Metadata:
      encoder         : Lavf58.20.100
      Stream #0:0: Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), yuv444p10le(pc, bt2020nc/bt2020/unknown), 3840x2160, q=2-1024, 200 kb/s, 24 fps, 12288 tbn, 24 tbc
      Metadata:
        encoder         : Lavc58.35.100 dnxhd
      frame=   10 fps=3.3 q=1.0 Lsize=   71161kB time=00:00:00.37 
      bitrate=1554195.5kbits/s speed=0.122x
      video:71160kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001114%
    

    But when I inspect the output file FFMpeg says it's in bt709

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:/TEST/test.mov':
      Metadata:
        major_brand     : qt
        minor_version   : 512
        compatible_brands: qt
        encoder         : Lavf58.20.100
      Duration: 00:00:00.42, start: 0.000000, bitrate: 1397959 kb/s
        Stream #0:0(eng): Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), 
    yuv444p10le(pc, bt709/unknown/unknown), 3840x2160, 1399062 kb/s, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default)
        Metadata:
          handler_name    : VideoHandler
          encoder         : Lavc58.35.100 dnxhd
    

    And softwares like MediaInfo say the chroma sampling is in 4.2.0

    Any ideas ?

    As ask in the comment, the full log of the conversion :

    C:\Users\pierrech>ffmpeg.exe -y -i "C:/TEST/final-%04d.dpx" -c:v dnxhd -vf colorspace=all=bt2020:iall=bt2020 -profile:v dnxhr_444 -color_primaries bt2020 -colorspace bt2020_ncl -color_range 2 -color_trc bt2020_12bit C:/TEST/test.mov
    ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
      built with gcc 8.3.1 (GCC) 20190414
      configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --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-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
      libavutil      56. 22.100 / 56. 22.100
      libavcodec     58. 35.100 / 58. 35.100
      libavformat    58. 20.100 / 58. 20.100
      libavdevice    58.  5.100 / 58.  5.100
      libavfilter     7. 40.101 /  7. 40.101
      libswscale      5.  3.100 /  5.  3.100
      libswresample   3.  3.100 /  3.  3.100
      libpostproc    55.  3.100 / 55.  3.100
    Input #0, image2, from 'C:/TEST/final-%04d.dpx':
      Duration: 00:00:00.40, start: 0.000000, bitrate: N/A
        Stream #0:0: Video: dpx, rgb48le, 3840x2160, 25 tbr, 25 tbn, 25 tbc
    Stream mapping:
      Stream #0:0 -> #0:0 (dpx (native) -> dnxhd (native))
    Press [q] to stop, [?] for help
    Output #0, mov, to 'C:/TEST/test.mov':
      Metadata:
        encoder         : Lavf58.20.100
        Stream #0:0: Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), yuv444p10le(pc, bt2020nc/bt2020/bt2020-12), 3840x2160, q=2-1024, 200 kb/s, 25 fps, 12800 tbn, 25 tbc
        Metadata:
          encoder         : Lavc58.35.100 dnxhd
    frame=   10 fps=3.8 q=1.0 Lsize=   71161kB time=00:00:00.36 bitrate=1618952.6kbits/s speed=0.136x
    video:71160kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001114%
    

    And after the conversion

    C:\Users\pierrech>ffmpeg.exe  -i C:\TEST\test.mov -hide_banner
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\TEST\test.mov':
      Metadata:
        major_brand     : qt
        minor_version   : 512
        compatible_brands: qt
        encoder         : Lavf58.20.100
      Duration: 00:00:00.40, start: 0.000000, bitrate: 1457373 kb/s
        Stream #0:0(eng): Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), yuv444p10le(pc, bt709/unknown/unknown), 3840x2160, 1457356 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)
        Metadata:
          handler_name    : VideoHandler
          encoder         : Lavc58.35.100 dnxhd
    At least one output file must be specified
    
  • I have created video using several images .. how to add fadein effect while every frame changing in video ? [duplicate]

    20 mai 2019, par Jeeva Murugan

    I am running this code for creating video. How to add fadein effect for every frame in the video?

    ffmpeg -r 2  -t 9 -pattern_type glob -i '*.png'  single_video.mp4