Newest 'ffmpeg' Questions - Stack Overflow

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

Les articles publiés sur le site

  • Use WebRTC/GetUserMedia stream as input for FFMPEG

    10 février 2020, par ApplowPi

    I'm recording my screen with gerUserMedia and get my video & audio stream. I'm then using WebRTC to send/receive this stream on another device. Is there any way I can then use this incoming webrtc stream as an input for ffmpeg by converting it somehow?

    Everything I'm working with is in javascript.

    Thanks in advance.

  • ffmpeg-python trim and concat doesn't work

    10 février 2020, par Saturnix

    I have two files, in.mp4 and outro.mp4.

    I need a very simple thing: trim in.mp4 to an arbitrary lenght, and concat outro.mp4 after it.

    I can do that without the trimming part

    import ffmpeg
    
    main_video = ffmpeg.input('in.mp4')
    outro = ffmpeg.input('outro.mp4')
    
    v1 = main_video.video.filter("scale", size='hd720')
    a1 = main_video.audio
    v2 = outro.video
    a2 = outro.audio
    
    joined = ffmpeg.concat(v1, a1, v2, a2, v=1, a=1).node
    v3 = joined[0]
    a3 = joined[1]
    
    out = ffmpeg.output(v3, a3, 'out.mp4')
    out.run()
    

    But if I add the trimming here:

    main_video = ffmpeg.input('in.mp4').trim(start_frame=0, end_frame=1000)
    

    I get this error:

    ValueError: Encountered trim(end_frame=1000, start_frame=0) <17c7b86357ec> with multiple outgoing edges with same upstream label None; a split filter is probably required

    and if I try to do it here:

    v1 = main_video.video.filter("scale", size='hd720').trim(start_frame=0, end_frame=1000)
    a1 = main_video.audio.trim(start_frame=0, end_frame=1000)
    

    I get these errors:

    [Parsed_trim_2 @ 00000295587ca840] Media type mismatch between the 'Parsed_trim_2' filter output pad 0 (video) and the 'Parsed_concat_3' filter input pad 1 (audio)
    [AVFilterGraph @ 00000295587cc800] Cannot create the link trim:0 -> concat:1
    

    How can I solve this?

  • Appending a list of movies MP4s causes the sound to be dropped or garbled at some point

    9 février 2020, par Marie

    Update I am able to reproduce the issue by concatenating 10 Hello.mp4 clips and see the audio drop out/garbled at about 5 seconds playback. This is via VLC latest 3.0.8 on Windows7 64bit. Window Player zero sound. Media Player Classic it plays fine all 10 audio or the word "Hello". The same movie when dragged onto Whatsapp the PC app plays OK but no sound if played from the Phone Whatsapp. Perhaps its my computer too slow in the production of this clip??? I don't know what to trust anymore.

    I copied the same ffmpeg.exe onto my kid's Windows10 laptop and was able to produce the same behavior with sound dropping out with VLC however Windows10 media player is able to play the audio without a glitch.

    You can reproduce the same on your end with this batch file

    _HELLO_MP4s.CMD

    rem 2:07 AM 2/8/2020
    rem 
    rem  
    SET EXE="S:\_BINS\FFmpeg 4.2.1 20200112\bin\ffmpeg.exe"
    
    SET ROOTPATH=.\
    
    SET OUT_FILE="%ROOTPATH%HELLOs.MP4"
    
    SET IN_FILES_LIST="%ROOTPATH%IN_FILES_LIST.TXT"
    ECHO file '%ROOTPATH%HELLO.mp4' > %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    ECHO file '%ROOTPATH%HELLO.mp4' >> %IN_FILES_LIST% 
    
    SET OPTIONS= -f concat -safe 0 -i  %IN_FILES_LIST%  -c copy -y  %OUT_FILE%
    
    SET INFO_FILE="INFO.TXT"
    
    %EXE% %OPTIONS%  1> %INFO_FILE% 2>&1 
    
    ECHO ======================== >> %INFO_FILE% 
    ECHO OUT_FILE=%OUT_FILE%  >> %INFO_FILE% 
    ECHO EXE=%EXE%  >> %INFO_FILE%
    ECHO OPTIONS=%OPTIONS%  >> %INFO_FILE% 
    ECHO ======================== >> %INFO_FILE%
    

    Original Post My process is in 3 steps Step 1) Corresponding to each bitmap I have 00.JPG ... NN.JPG I combine a list of "SOURCE" mp3 audio into a single audio mp3 to produce matching 00.MP3 ... NN.MP3

    I had glitch here where one my mp3 was not of the correct Sample Rate, however a kind soul in this forum helped me fix that. You can read the details here:

    When I append a silent audio (mp3) to an existing list of audio it garbles the final audio?

    Step 2) combine each mp3 from previous with a the filename matching bitmap to produce a movie .MP4

    IOW,

    • 00.JPG + 00.MP3 >> 00.MP4
    • 01.JPG + 01.MP3 >> 01.MP4
    • and so on

    From this run of 24 subparts, I hand tested some of these movies against Whatsapp and they are accepted fine.
    However, the final MOVIE.MP4 is not. I will list below their info from ffprobe.

    Step 3) combine the list of movies from previous into a final MOVIE.MP4 This is where I have been having random issues typically with audio, currently this audio drops at about 20s from start. Corresponding to roughly movies parts 04.mp4 to 07.mp4

    I play the videos via VLC but Windows Media Player has even worse playback.

    I am able to reproduce Step3 and thus MOVIE.MP4 with following batch file

    rem 10:33 PM 2/6/2020
    SET EXE="S:\_BINS\FFmpeg 4.2.1 20200112\bin\ffmpeg.exe"
    
    SET ROOTPATH=.\
    
    SET OUT_FILE="%ROOTPATH%MOVIE.MP4"
    
    SET IN_FILES_LIST="%ROOTPATH%IN_FILES_LIST.TXT"
    
    SET OPTIONS= -f concat -safe 0 -i  %IN_FILES_LIST%  -c copy -y  %OUT_FILE%
    
    SET INFO_FILE="INFO.TXT"
    
    %EXE% %OPTIONS%  1> %INFO_FILE% 2>&1 
    
    rem PAUSE
    

    The content of IN_FILES_LIST.TXT

    file '00.mp4'
    file '01.mp4'
    file '02.mp4'
    ...
    file '23.mp4'
    file '24.mp4'
    

    (Step 2) uses the following :) enter image description here

    The following is ffprobe on the source audio MP3s (Step 1)

    MP3s_ORIGINAL.TXT
    ========================BEGIN 
    [mp3 @ 0000000000513100] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\00.mp3':
      Duration: 00:00:03.36, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 00000000003f3180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\01.mp3':
      Duration: 00:00:00.46, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 00000000004a3180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\02.mp3':
      Duration: 00:00:00.58, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000623180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\03.mp3':
      Duration: 00:00:00.84, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 00000000003a3180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\04.mp3':
      Duration: 00:00:00.86, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000433180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\05.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000683180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\06.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 00000000004d3180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\07.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 00000000004c3180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\08.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000573180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\09.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000583180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\10.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 00000000005e3180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\11.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000553180] Estimating duration from bitrate, this may be inaccurate
    Input #0, mp3, from '.\PLAY\12.mp3':
      Duration: 00:00:00.98, start: 0.000000, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    [mp3 @ 0000000000563180] Estimating duration from bitrate, this may be inaccurate
    
    
    trimmed because SO limits post to 30000 chars
    
    

    The following is ffprobe on the MP3s concatenated with 2second Silence. All their Sample Rate 24K and Bit Rate 32k seems OK?? (Also Step 1)

    MP3s_withSilenceAppended.TXT
    ========================BEGIN 
    Input #0, mp3, from '00.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:05.42, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '01.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.52, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '02.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.64, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '03.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.90, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '04.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.93, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '05.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '06.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '07.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '08.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '09.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '10.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '11.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '12.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '13.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:05.81, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '14.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.93, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '15.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.66, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '16.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.66, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '17.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.66, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '18.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:02.83, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '19.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:06.50, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '20.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '21.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.05, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '22.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.14, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '23.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:06.12, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    Input #0, mp3, from '24.mp3':
      Metadata:
        encoder         : Lavf58.35.101
      Duration: 00:00:03.14, start: 0.046042, bitrate: 32 kb/s
        Stream #0:0: Audio: mp3, 24000 Hz, mono, fltp, 32 kb/s
    
    

    The following is ffmpeg info output during the production of final movie MOVIE.MP4 (Step 3)

    ========================BEGIN 
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\00.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:05.54, start: 0.000000, bitrate: 174 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 137 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\01.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:02.71, start: 0.000000, bitrate: 269 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 242 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\02.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:02.71, start: 0.000000, bitrate: 285 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 245 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\03.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.04, start: 0.000000, bitrate: 275 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 239 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\04.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.04, start: 0.000000, bitrate: 286 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 250 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\05.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 281 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 249 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\06.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 281 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 249 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\07.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 150 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 115 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\08.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 201 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 166 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\09.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 247 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 214 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\10.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 247 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 214 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\11.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 131 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 95 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\12.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 194 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 159 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\13.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:05.88, start: 0.000000, bitrate: 207 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 169 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\14.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.04, start: 0.000000, bitrate: 335 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 300 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\15.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:02.88, start: 0.000000, bitrate: 365 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 342 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\16.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:02.88, start: 0.000000, bitrate: 384 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 362 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\17.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:02.88, start: 0.000000, bitrate: 390 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 368 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\18.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.04, start: 0.000000, bitrate: 386 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 363 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\19.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:06.71, start: 0.000000, bitrate: 204 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 169 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\20.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 194 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 159 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\21.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 194 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 159 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\22.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 208 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 169 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\23.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:06.21, start: 0.000000, bitrate: 204 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 166 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\24.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:00:03.21, start: 0.000000, bitrate: 173 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 134 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 32 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\VID\MOVIE.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.35.101
      Duration: 00:01:29.05, start: 0.000000, bitrate: 239 kb/s
        Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 203 kb/s, 23.53 fps, 24 tbr, 24k tbn, 48 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 30 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    
    

    I have not been able yet to reproduce the issue with a smaller set of movies, in the meantime if you would to get a copy I would have to upload an archive to a link so you can have them on your side.

    Alternatively, if you would like me to provide additional info from these steps let me know what commands and I will be happy to provide.

    Thank you.

  • Is it possible to grab a frame from a video stream and save it as png in another stream with ffmpeg ?

    9 février 2020, par Lázár Zsolt

    I am trying to use FFMpeg with System.IO.Process to convert a seek-able in-memory video stream into a thumbnail. Piping the thumbnail out through stdout isn't a problem, but piping in the video is tricky.

    My current code copies the entire video stream into stdin, which is very slow and unnecessary, because ffmpeg obviously doesn't need the entire file to get the first frame. Writing the stream to the file system and specifying its path as an input argument is also very slow, because the source video can be several gigabytes.

    I have tried accomplishing this using existing libraries, such as AForge, FFMpegCore, Xabe.FFMpeg, xFFMpeg.NET and Accord.FFMPEG.Video, but unfortunately they can only work with actual files, not streams, and my input video is not available as a file.

    The stream object that supplies the video fully implements seeking and random access reading functionalities, just like a file stream, so there is literally no valid reason for this to not be possible, besides the limitations of the APIs (or my knowledge).

    As a last resort, I could use the Dokan.NET filesystem driver to expose the video stream as a virtual file so ffmpeg can read it, but that would be an extreme overkill and I'm looking for a better solution.

    Below is my current code. For the sake of simplicity, I am emulating the input video stream with a FileStream.

    var process = new Process();
    process.StartInfo.FileName = "ffmpeg.exe";
    process.StartInfo.Arguments = "-i - -ss 00:00:01 -vframes 1 -q:v 2 -c:v png -f image2pipe -";
    process.StartInfo.RedirectStandardInput = true;
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.CreateNoWindow = true;
    process.Start();
    
    var stream = File.OpenRead("test.mp4");
    stream.CopyTo(process.StandardInput.BaseStream);
    process.StandardInput.BaseStream.Flush();
    process.StandardInput.BaseStream.Close();
    
    var stream2 = File.Create("test.png");
    var buffer = new byte[4096];
    int read;
    while((read = process.StandardOutput.BaseStream.Read(buffer, 0, buffer.Length)) > 0)
        stream2.Write(buffer, 0, read);
    

    EDIT: It might be useful to clarify what kind of data does the input stream contain. It is basically a video file that can be in any commonly used format (avi, mp4, mov, ts, mkv, wmv,...). The extension of the video (as if it was a file) is also known.

  • how to pass a audio file with powershell pipe [duplicate]

    9 février 2020, par mudssky

    I'm trying to convert flac file to aac use qaac cli.
    qaac cli default don't support flac file,so i use ffmpeg to convert it to wav ,and use pipe pass it to qaac

    this command can be run successfully in cmd
    ffmpeg.exe -i .\input.flac -f wav -| qaac64.exe -

    but in powershell ,the pipe passed string object,so it doesnt't work properly
    ffmpeg.exe -i .\input.flac -f wav -| get-member

    Q: what's the correct way in powershell to pass a file?