Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
Use WebRTC/GetUserMedia stream as input for FFMPEG
10 février 2020, par ApplowPiI'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 SaturnixI have two files,
in.mp4
andoutro.mp4
.I need a very simple thing: trim
in.mp4
to an arbitrary lenght, and concatoutro.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 requiredand 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 MarieUpdate 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 :)
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 ZsoltI 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 mudsskyI'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 qaacthis 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?