Hello, I use ffmpeg with -vframes 1 for testing if a MJPEG is working (1), to do it, i run: ffmpeg -loglevel debug -an -f mjpeg -i 'ADDRESS' -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" -vframes 1 /tmp/uhum.jpg Then it takes 2 minutes (at first I think that it was stoped, but it responded after a long time, so I tested again with timeout option and it take much lower time.) renato@ood:/projetos/aware/etamu/lost-n-found$ time /home/renato/ffmpeg/ffmpeg-HEAD-e2742d6/ffmpeg -loglevel debug -an -f mjpeg -timeout 10 -i 'http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin' -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" -vframes 1 /tmp/uhum.jpg ffmpeg version 2.1.git-e2742d6 Copyright (c) 2000-2013 the FFmpeg developers built on Dec 16 2013 13:41:29 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1) configuration: --enable-gpl --enable-libx264 --prefix='~/ffmpeg/' libavutil 52. 58.100 / 52. 58.100 libavcodec 55. 45.101 / 55. 45.101 libavformat 55. 22.100 / 55. 22.100 libavdevice 55. 5.102 / 55. 5.102 libavfilter 3. 92.100 / 3. 92.100 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.104 / 0. 17.104 libpostproc 52. 3.100 / 52. 3.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mjpeg'. Reading option '-timeout' ... matched as AVOption 'timeout' with argument '10'. Reading option '-i' ... matched as input file with argument 'http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin'. Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale='if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)''. Reading option '-vframes' ... matched as option 'vframes' (set the number of video frames to record) with argument '1'. Reading option '/tmp/uhum.jpg' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin. Applying option an (disable audio) with argument 1. Applying option f (force format) with argument mjpeg. Successfully parsed a group of options. Opening an input file: http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin. [http @ 0x9f2e3a0] request: GET /videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin HTTP/1.1 User-Agent: Lavf/55.22.100 Accept: */* Range: bytes=0- Connection: close Host: postogasolina.dyndns.org:8081 [http @ 0x9f2e3a0] header='HTTP/1.1 200 OK' [http @ 0x9f2e3a0] http_code=200 [http @ 0x9f2e3a0] header='Server: Netwave IP Camera' [http @ 0x9f2e3a0] header='Date: Wed, 26 Mar 2014 05:45:29 GMT' [http @ 0x9f2e3a0] header='Accept-Ranges: bytes' [http @ 0x9f2e3a0] header='Connection: close' [http @ 0x9f2e3a0] header='Content-Type: multipart/x-mixed-replace;boundary=ipcamera' [http @ 0x9f2e3a0] header='' [mjpeg @ 0x9f2dde0] Before avformat_find_stream_info() pos: 0 bytes read:1400 seeks:0 [mjpeg @ 0x9f39080] marker=d8 avail_size_in_buf=15151 [mjpeg @ 0x9f39080] marker parser used 0 bytes (0 bits) [mjpeg @ 0x9f39080] marker=db avail_size_in_buf=15149 [mjpeg @ 0x9f39080] index=0 [mjpeg @ 0x9f39080] qscale[0]: 4 [mjpeg @ 0x9f39080] index=1 [mjpeg @ 0x9f39080] qscale[1]: 8 [mjpeg @ 0x9f39080] marker parser used 132 bytes (1056 bits) [mjpeg @ 0x9f39080] marker=c4 avail_size_in_buf=15015 [mjpeg @ 0x9f39080] class=0 index=0 nb_codes=12 [mjpeg @ 0x9f39080] class=0 index=1 nb_codes=12 [mjpeg @ 0x9f39080] class=1 index=0 nb_codes=251 [mjpeg @ 0x9f39080] class=1 index=1 nb_codes=251 [mjpeg @ 0x9f39080] marker parser used 418 bytes (3344 bits) [mjpeg @ 0x9f39080] marker=c0 avail_size_in_buf=14595 [mjpeg @ 0x9f39080] sof0: picture: 640x480 [mjpeg @ 0x9f39080] component 0 2:1 id: 0 quant:0 [mjpeg @ 0x9f39080] component 1 1:1 id: 1 quant:1 [mjpeg @ 0x9f39080] component 2 1:1 id: 2 quant:1 [mjpeg @ 0x9f39080] pix fmt id 21111100 [mjpeg @ 0x9f39080] marker parser used 17 bytes (136 bits) [mjpeg @ 0x9f39080] escaping removed 67 bytes [mjpeg @ 0x9f39080] marker=da avail_size_in_buf=14576 [mjpeg @ 0x9f39080] component: 0 [mjpeg @ 0x9f39080] component: 1 [mjpeg @ 0x9f39080] component: 2 [mjpeg @ 0x9f39080] marker parser used 14508 bytes (116061 bits) [mjpeg @ 0x9f39080] marker=d9 avail_size_in_buf=66 [mjpeg @ 0x9f39080] decode frame unused 66 bytes [mjpeg @ 0x9f2dde0] After avformat_find_stream_info() pos: 25200 bytes read:25200 seeks:0 frames:2 Input #0, mjpeg, from 'http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin': Duration: N/A, bitrate: N/A Stream #0:0, 2, 1/1200000: Video: mjpeg, yuvj422p(pc), 640x480, 1/25, 25 tbr, 1200k tbn, 25 tbc Successfully opened the file. Parsing a group of options: output file /tmp/uhum.jpg. Applying option vf (set video filters) with argument scale='if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'. Applying option vframes (set the number of video frames to record) with argument 1. Successfully parsed a group of options. Opening an output file: /tmp/uhum.jpg. Successfully opened the file. detected 8 logical cores [Parsed_scale_0 @ 0x9f4c480] Setting 'w' to value 'if(gt(a,4/3),320,-1)' [Parsed_scale_0 @ 0x9f4c480] Setting 'h' to value 'if(gt(a,4/3),-1,240)' [Parsed_scale_0 @ 0x9f4c480] Setting 'flags' to value '0x4' [Parsed_scale_0 @ 0x9f4c480] w:if(gt(a,4/3),320,-1) h:if(gt(a,4/3),-1,240) flags:'0x4' interl:0 [graph 0 input from stream 0:0 @ 0x9f27e40] Setting 'video_size' to value '640x480' [graph 0 input from stream 0:0 @ 0x9f27e40] Setting 'pix_fmt' to value '13' [graph 0 input from stream 0:0 @ 0x9f27e40] Setting 'time_base' to value '1/1200000' [graph 0 input from stream 0:0 @ 0x9f27e40] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 0x9f27e40] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x9f27e40] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0x9f27e40] w:640 h:480 pixfmt:yuvj422p tb:1/1200000 fr:25/1 sar:0/1 sws_param:flags=2 [format @ 0x9f4ca80] compat: called with args=[yuvj420p|yuvj422p|yuvj444p] [format @ 0x9f4ca80] Setting 'pix_fmts' to value 'yuvj420p|yuvj422p|yuvj444p' [AVFilterGraph @ 0x9f27e00] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed [swscaler @ 0x9f21fe0] deprecated pixel format used, make sure you did set range correctly [Parsed_scale_0 @ 0x9f4c480] w:640 h:480 fmt:yuvj422p sar:0/1 -> w:320 h:240 fmt:yuvj422p sar:0/1 flags:0x4 [mjpeg @ 0x9f44380] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9f2c3a0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9f83520] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9fa1ea0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9fc0a40] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9fdf5c0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9ffe140] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa01ccc0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9f3a260] intra_quant_bias = 96 inter_quant_bias = 0 Output #0, image2, to '/tmp/uhum.jpg': Metadata: encoder : Lavf55.22.100 Stream #0:0, 0, 1/90000: Video: mjpeg, yuvj422p, 320x240, 1/25, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (mjpeg -> mjpeg) Press [q] to stop, [?] for help [mjpeg @ 0x9f39080] marker=d8 avail_size_in_buf=15151 [mjpeg @ 0x9f39080] marker parser used 0 bytes (0 bits) [mjpeg @ 0x9f39080] marker=db avail_size_in_buf=15149 [mjpeg @ 0x9f39080] index=0 [mjpeg @ 0x9f39080] qscale[0]: 4 [mjpeg @ 0x9f39080] index=1 [mjpeg @ 0x9f39080] qscale[1]: 8 [mjpeg @ 0x9f39080] marker parser used 132 bytes (1056 bits) [mjpeg @ 0x9f39080] marker=c4 avail_size_in_buf=15015 [mjpeg @ 0x9f39080] class=0 index=0 nb_codes=12 [mjpeg @ 0x9f39080] class=0 index=1 nb_codes=12 [mjpeg @ 0x9f39080] class=1 index=0 nb_codes=251 [mjpeg @ 0x9f39080] class=1 index=1 nb_codes=251 [mjpeg @ 0x9f39080] marker parser used 418 bytes (3344 bits) [mjpeg @ 0x9f39080] marker=c0 avail_size_in_buf=14595 [mjpeg @ 0x9f39080] sof0: picture: 640x480 [mjpeg @ 0x9f39080] component 0 2:1 id: 0 quant:0 [mjpeg @ 0x9f39080] component 1 1:1 id: 1 quant:1 [mjpeg @ 0x9f39080] component 2 1:1 id: 2 quant:1 [mjpeg @ 0x9f39080] pix fmt id 21111100 [mjpeg @ 0x9f39080] marker parser used 17 bytes (136 bits) [mjpeg @ 0x9f39080] escaping removed 67 bytes [mjpeg @ 0x9f39080] marker=da avail_size_in_buf=14576 [mjpeg @ 0x9f39080] component: 0 [mjpeg @ 0x9f39080] component: 1 [mjpeg @ 0x9f39080] component: 2 [mjpeg @ 0x9f39080] marker parser used 14508 bytes (116061 bits) [mjpeg @ 0x9f39080] marker=d9 avail_size_in_buf=66 [mjpeg @ 0x9f39080] decode frame unused 66 bytes No more output streams to write to, finishing. [AVIOContext @ 0xa059e20] Statistics: 0 seeks, 1 writeouts frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:7kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.294393% 1 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x9f38cc0] Statistics: 25200 bytes read, 0 seeks real 0m2.303s user 0m0.008s sys 0m0.028s renato@ood:/projetos/aware/etamu/lost-n-found$ renato@ood:/projetos/aware/etamu/lost-n-found$ renato@ood:/projetos/aware/etamu/lost-n-found$ renato@ood:/projetos/aware/etamu/lost-n-found$ renato@ood:/projetos/aware/etamu/lost-n-found$ renato@ood:/projetos/aware/etamu/lost-n-found$ renato@ood:/projetos/aware/etamu/lost-n-found$ time /home/renato/ffmpeg/ffmpeg-HEAD-e2742d6/ffmpeg -loglevel debug -an -f mjpeg -i 'http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin' -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" -vframes 1 /tmp/uhum2.jpgffmpeg version 2.1.git-e2742d6 Copyright (c) 2000-2013 the FFmpeg developers built on Dec 16 2013 13:41:29 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1) configuration: --enable-gpl --enable-libx264 --prefix='~/ffmpeg/' libavutil 52. 58.100 / 52. 58.100 libavcodec 55. 45.101 / 55. 45.101 libavformat 55. 22.100 / 55. 22.100 libavdevice 55. 5.102 / 55. 5.102 libavfilter 3. 92.100 / 3. 92.100 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.104 / 0. 17.104 libpostproc 52. 3.100 / 52. 3.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mjpeg'. Reading option '-i' ... matched as input file with argument 'http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin'. Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale='if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)''. Reading option '-vframes' ... matched as option 'vframes' (set the number of video frames to record) with argument '1'. Reading option '/tmp/uhum2.jpg' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin. Applying option an (disable audio) with argument 1. Applying option f (force format) with argument mjpeg. Successfully parsed a group of options. Opening an input file: http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin. [http @ 0x9e4a2c0] request: GET /videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin HTTP/1.1 User-Agent: Lavf/55.22.100 Accept: */* Range: bytes=0- Connection: close Host: postogasolina.dyndns.org:8081 [http @ 0x9e4a2c0] header='HTTP/1.1 200 OK' [http @ 0x9e4a2c0] http_code=200 [http @ 0x9e4a2c0] header='Server: Netwave IP Camera' [http @ 0x9e4a2c0] header='Date: Wed, 26 Mar 2014 05:45:39 GMT' [http @ 0x9e4a2c0] header='Accept-Ranges: bytes' [http @ 0x9e4a2c0] header='Connection: close' [http @ 0x9e4a2c0] header='Content-Type: multipart/x-mixed-replace;boundary=ipcamera' [http @ 0x9e4a2c0] header='' [mjpeg @ 0x9e49d80] Before avformat_find_stream_info() pos: 0 bytes read:1400 seeks:0 [mjpeg @ 0x9e54fa0] marker=d8 avail_size_in_buf=15121 [mjpeg @ 0x9e54fa0] marker parser used 0 bytes (0 bits) [mjpeg @ 0x9e54fa0] marker=db avail_size_in_buf=15119 [mjpeg @ 0x9e54fa0] index=0 [mjpeg @ 0x9e54fa0] qscale[0]: 4 [mjpeg @ 0x9e54fa0] index=1 [mjpeg @ 0x9e54fa0] qscale[1]: 8 [mjpeg @ 0x9e54fa0] marker parser used 132 bytes (1056 bits) [mjpeg @ 0x9e54fa0] marker=c4 avail_size_in_buf=14985 [mjpeg @ 0x9e54fa0] class=0 index=0 nb_codes=12 [mjpeg @ 0x9e54fa0] class=0 index=1 nb_codes=12 [mjpeg @ 0x9e54fa0] class=1 index=0 nb_codes=251 [mjpeg @ 0x9e54fa0] class=1 index=1 nb_codes=251 [mjpeg @ 0x9e54fa0] marker parser used 418 bytes (3344 bits) [mjpeg @ 0x9e54fa0] marker=c0 avail_size_in_buf=14565 [mjpeg @ 0x9e54fa0] sof0: picture: 640x480 [mjpeg @ 0x9e54fa0] component 0 2:1 id: 0 quant:0 [mjpeg @ 0x9e54fa0] component 1 1:1 id: 1 quant:1 [mjpeg @ 0x9e54fa0] component 2 1:1 id: 2 quant:1 [mjpeg @ 0x9e54fa0] pix fmt id 21111100 [mjpeg @ 0x9e54fa0] marker parser used 17 bytes (136 bits) [mjpeg @ 0x9e54fa0] escaping removed 70 bytes [mjpeg @ 0x9e54fa0] marker=da avail_size_in_buf=14546 [mjpeg @ 0x9e54fa0] component: 0 [mjpeg @ 0x9e54fa0] component: 1 [mjpeg @ 0x9e54fa0] component: 2 [mjpeg @ 0x9e54fa0] marker parser used 14475 bytes (115794 bits) [mjpeg @ 0x9e54fa0] marker=d9 avail_size_in_buf=66 [mjpeg @ 0x9e54fa0] decode frame unused 66 bytes [mjpeg @ 0x9e49d80] max_analyze_duration 5000000 reached at 5000000 microseconds [mjpeg @ 0x9e49d80] After avformat_find_stream_info() pos: 1938758 bytes read:1939134 seeks:0 frames:127 Input #0, mjpeg, from 'http://admin:lala@postogasolina.dyndns.org:8081/videostream.cgi?rate=6&password=lala&pwd=lala&resolution=8&user=admin&usr=admin': Duration: N/A, bitrate: N/A Stream #0:0, 127, 1/1200000: Video: mjpeg, yuvj422p(pc), 640x480, 1/25, 25 fps, 25 tbr, 1200k tbn, 25 tbc Successfully opened the file. Parsing a group of options: output file /tmp/uhum2.jpg. Applying option vf (set video filters) with argument scale='if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'. Applying option vframes (set the number of video frames to record) with argument 1. Successfully parsed a group of options. Opening an output file: /tmp/uhum2.jpg. Successfully opened the file. detected 8 logical cores [Parsed_scale_0 @ 0x9e5d1a0] Setting 'w' to value 'if(gt(a,4/3),320,-1)' [Parsed_scale_0 @ 0x9e5d1a0] Setting 'h' to value 'if(gt(a,4/3),-1,240)' [Parsed_scale_0 @ 0x9e5d1a0] Setting 'flags' to value '0x4' [Parsed_scale_0 @ 0x9e5d1a0] w:if(gt(a,4/3),320,-1) h:if(gt(a,4/3),-1,240) flags:'0x4' interl:0 [graph 0 input from stream 0:0 @ 0x9e55580] Setting 'video_size' to value '640x480' [graph 0 input from stream 0:0 @ 0x9e55580] Setting 'pix_fmt' to value '13' [graph 0 input from stream 0:0 @ 0x9e55580] Setting 'time_base' to value '1/1200000' [graph 0 input from stream 0:0 @ 0x9e55580] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 0x9e55580] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x9e55580] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0x9e55580] w:640 h:480 pixfmt:yuvj422p tb:1/1200000 fr:25/1 sar:0/1 sws_param:flags=2 [format @ 0x9e68340] compat: called with args=[yuvj420p|yuvj422p|yuvj444p] [format @ 0x9e68340] Setting 'pix_fmts' to value 'yuvj420p|yuvj422p|yuvj444p' [AVFilterGraph @ 0x9e55640] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed [swscaler @ 0xa04a960] deprecated pixel format used, make sure you did set range correctly [Parsed_scale_0 @ 0x9e5d1a0] w:640 h:480 fmt:yuvj422p sar:0/1 -> w:320 h:240 fmt:yuvj422p sar:0/1 flags:0x4 [mjpeg @ 0x9e43ea0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9e3c260] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa07d920] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa09c3e0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa0baf60] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa0d9ae0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa0f8660] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0xa1171e0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x9e5baa0] intra_quant_bias = 96 inter_quant_bias = 0 Output #0, image2, to '/tmp/uhum2.jpg': Metadata: encoder : Lavf55.22.100 Stream #0:0, 0, 1/90000: Video: mjpeg, yuvj422p, 320x240, 1/25, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (mjpeg -> mjpeg) Press [q] to stop, [?] for help [mjpeg @ 0x9e54fa0] marker=d8 avail_size_in_buf=15121 [mjpeg @ 0x9e54fa0] marker parser used 0 bytes (0 bits) [mjpeg @ 0x9e54fa0] marker=db avail_size_in_buf=15119 [mjpeg @ 0x9e54fa0] index=0 [mjpeg @ 0x9e54fa0] qscale[0]: 4 [mjpeg @ 0x9e54fa0] index=1 [mjpeg @ 0x9e54fa0] qscale[1]: 8 [mjpeg @ 0x9e54fa0] marker parser used 132 bytes (1056 bits) [mjpeg @ 0x9e54fa0] marker=c4 avail_size_in_buf=14985 [mjpeg @ 0x9e54fa0] class=0 index=0 nb_codes=12 [mjpeg @ 0x9e54fa0] class=0 index=1 nb_codes=12 [mjpeg @ 0x9e54fa0] class=1 index=0 nb_codes=251 [mjpeg @ 0x9e54fa0] class=1 index=1 nb_codes=251 [mjpeg @ 0x9e54fa0] marker parser used 418 bytes (3344 bits) [mjpeg @ 0x9e54fa0] marker=c0 avail_size_in_buf=14565 [mjpeg @ 0x9e54fa0] sof0: picture: 640x480 [mjpeg @ 0x9e54fa0] component 0 2:1 id: 0 quant:0 [mjpeg @ 0x9e54fa0] component 1 1:1 id: 1 quant:1 [mjpeg @ 0x9e54fa0] component 2 1:1 id: 2 quant:1 [mjpeg @ 0x9e54fa0] pix fmt id 21111100 [mjpeg @ 0x9e54fa0] marker parser used 17 bytes (136 bits) [mjpeg @ 0x9e54fa0] escaping removed 70 bytes [mjpeg @ 0x9e54fa0] marker=da avail_size_in_buf=14546 [mjpeg @ 0x9e54fa0] component: 0 [mjpeg @ 0x9e54fa0] component: 1 [mjpeg @ 0x9e54fa0] component: 2 [mjpeg @ 0x9e54fa0] marker parser used 14475 bytes (115794 bits) [mjpeg @ 0x9e54fa0] marker=d9 avail_size_in_buf=66 [mjpeg @ 0x9e54fa0] decode frame unused 66 bytes No more output streams to write to, finishing. [AVIOContext @ 0xa154340] Statistics: 0 seeks, 1 writeouts frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:7kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.294039% 1 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x9e54c60] Statistics: 1939134 bytes read, 0 seeks real 2m32.823s user 0m0.096s sys 0m0.080s Comparing both with meld, I see few bytes changes, but without timeout, how finish the connection is: [mjpeg @ 0x9e49d80] max_analyze_duration 5000000 reached at 5000000 microseconds left=without timeout, image of meld @ http://i.imgur.com/clgHarL.png i'm setting timeout from now, first because it's a good ideia do that! but is interesting known why this delay happen when it is not set. 1: I only call if for working URLs that at least responded with a JPEG some seconds before, but that's not the case.