Hello I've got a Windows Visual Studio .NET application which, amongst other things, uses FFprobe to get some basic information about the stream content of movie files. My application starts FFprobe as a thread with arguments, reads the StandardOutput until FFprobe exists, then works with the data that FFprobe has provided.
Sometimes, FFprobe will complete finish the requested task of showing all the stream info, but then it will 'freeze' instead of exiting immediately- it can sit there for a variable amount of time, sometimes a few seconds, sometimes several minutes, neither busy nor exiting, just sort of stuck. Since my application is waiting for FFprobe to exit, users are left waiting (sometimes impatiently...) So my question/problem is this: is there a way I can stop FFprobe from sometimes 'sticking' like this, and ensuring that once the analysis is done, it closes nice and promptly? More details: The arguments being called to FFprobe are simply this: -show_streams "E:\Tests\2018-04-21\Timecode.mov" I have pasted FFprobe's console output below. Because it's the last line, I'm guessing that it's something to do with "Unsupported codec with id 0 for input stream 2". In the case of the media I'm testing with, stream 2 is a timecode stream (sample stream output is also pasted below). I've also pasted below what is (I think) the relevant bit of my VB.NET code in case it's pertinent at all. If it helps, you can download the basic MOV that I created in Avid Media Composer for testing purposes from here: http://www.twentypenguins.co.uk/misc/ffpmeg_tests/Timecode.mov and you can see a screengrab of the 'stuck' FFprobe console window here: http://www.twentypenguins.co.uk/misc/ffpmeg_tests/F Fprobe-freeze-issue_21Apr18.JPG Any comments or suggestions about what I should do to get ffprobe.exe to always exit promptly would be much appreciated. Thanks Stuart Console output: ffprobe version N-90796-ge5ba5fab49 Copyright (c) 2007-2018 the FFmpeg developers built with gcc 7.3.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --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. 15.100 / 56. 15.100 libavcodec 58. 19.100 / 58. 19.100 libavformat 58. 13.100 / 58. 13.100 libavdevice 58. 4.100 / 58. 4.100 libavfilter 7. 18.100 / 7. 18.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:\Aardman EditReader tests\2018-04-21\Timecode.mov': Metadata: creation_time : 2018-04-21T12:23:13.000000Z timecode : 01:00:00:00 Duration: 00:30:00.00, start: 0.000000, bitrate: 875 kb/s Stream #0:0(eng): Audio: pcm_s16be (twos / 0x736F7774), 44100 Hz, mono, s16, 705 kb/s (default) Metadata: creation_time : 2018-04-21T12:23:13.000000Z handler_name : Apple Alias Data Handler Stream #0:1(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 640x360, 160 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default) Metadata: creation_time : 2018-04-21T12:23:14.000000Z handler_name : Apple Alias Data Handler encoder : H.264 Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default) Metadata: creation_time : 2018-04-21T12:47:58.000000Z handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Unsupported codec with id 0 for input stream 2 .NET code that calls FFprobe and gets the results, (where probeProcess is a System.Diagnostics.Process that has already been pointed to ffprobe.exe): probeProcess.StartInfo.Arguments = "-show_streams -select_streams v " + Chr(34) + filePath + Chr(34) probeProcess.StartInfo.UseShellExecute = False probeProcess.StartInfo.RedirectStandardOutput = True probeProcess.StartInfo.RedirectStandardError = True probeProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden probeProcess.StartInfo.CreateNoWindow = True probeProcess.Start() Dim probeStreamReader As StreamReader = probeProcess.StandardOutput streamData = probeStreamReader.ReadToEnd myStreamReader.Close() Stream data that is logged before FFprobe 'freezes': [STREAM] index=0 codec_name=pcm_s16be codec_long_name=PCM signed 16-bit big-endian profile=unknown codec_type=audio codec_time_base=1/44100 codec_tag_string=twos codec_tag=0x736f7774 sample_fmt=s16 sample_rate=44100 channels=1 channel_layout=mono bits_per_sample=16 id=N/A r_frame_rate=0/0 avg_frame_rate=0/0 time_base=1/44100 start_pts=0 start_time=0.000000 duration_ts=79380000 duration=1800.000000 bit_rate=705600 max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=79380000 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 DISPOSITION:timed_thumbnails=0 TAG:creation_time=2018-04-21T12:23:13.000000Z TAG:language=eng TAG:handler_name=Apple Alias Data Handler [/STREAM] [STREAM] index=1 codec_name=h264 codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 profile=Main codec_type=video codec_time_base=1/50 codec_tag_string=avc1 codec_tag=0x31637661 width=640 height=360 coded_width=640 coded_height=368 has_b_frames=1 sample_aspect_ratio=N/A display_aspect_ratio=N/A pix_fmt=yuv420p level=31 color_range=tv color_space=smpte170m color_transfer=bt709 color_primaries=smpte170m chroma_location=left field_order=unknown timecode=N/A refs=1 is_avc=true nal_length_size=4 id=N/A r_frame_rate=25/1 avg_frame_rate=25/1 time_base=1/25000 start_pts=0 start_time=0.000000 duration_ts=45000000 duration=1800.000000 bit_rate=160529 max_bit_rate=N/A bits_per_raw_sample=8 nb_frames=45000 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 DISPOSITION:timed_thumbnails=0 TAG:creation_time=2018-04-21T12:23:14.000000Z TAG:language=eng TAG:handler_name=Apple Alias Data Handler TAG:encoder=H.264 [/STREAM] [STREAM] index=2 codec_name=unknown codec_long_name=unknown profile=unknown codec_type=data codec_tag_string=tmcd codec_tag=0x64636d74 id=N/A r_frame_rate=0/0 avg_frame_rate=25/1 time_base=1/600 start_pts=0 start_time=0.000000 duration_ts=1080000 duration=1800.000000 bit_rate=N/A max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=1 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 DISPOSITION:timed_thumbnails=0 TAG:creation_time=2018-04-21T12:47:58.000000Z TAG:language=eng TAG:handler_name=Apple Alias Data Handler TAG:timecode=01:00:00:00 [/STREAM] -- Stuart Bruce - stu...@stuartbruce.co.uk - www.stuartbruce.co.uk _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".