Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
restarting ffmpeg upon stop/disconnection
17 décembre 2015, par akivaI'm recording a long audio m3u8 stream with ffmpeg (with -t to limit the time).
the problem is the stream resets its connection quite often. how do I make ffmpeg restart upon hangs? I was thinking of running of such a hack:
timeout
but it would override the same fileany suggestions?
-
How to compile ffmpeg with librtmp for android in Vitamio 5.0 ?
17 décembre 2015, par Kadrii was using vitamio 4.2.2 but google send me a mail about vitamio libs including security backdoors. And says update vitamio version. But im using vitamio version which was compiled ffmpeg with librtmp android. Now i will use Vitamio 5.0 But How to find ffmpeg rtmp build or who can compile ffmpeg librtmp for Vitamio 5.0 ? Please help me
-
Details about the types of the filtered frame used in FFmpeg
17 décembre 2015, par sunzhidaI am new in multimedia analysis.
I am trying to extract key frames from .mp4 and .flv format videos by using FFmpeg. The problem is that I was confused by the parameters used in the command (Select only I-frames).
select='eq(pict_type\,I)'
The parameters are used to choose the types of filtered frame and It can assume one of the following values:
I P B S SI SP BI
After searching on Wikipedia, I have got some basic concepts on I, P, B frames but still cannot tell the difference among S, SI, SP and BI. How to decide which type of frame should I use in my command line?
[Update]
I found some of the definitions of these terms in The H.264 Advanced Video Compression Standard, Second Edition.
- SI: Intra-coded slice used for switching between coded bitstreams (H.264)
- SP: Inter-coded slice used for switching between coded bitstreams
-
How can I find get the frame number from a gif file using ffmpeg's AVFormatContext struct ?
17 décembre 2015, par user1400047I searched from all the subnode of AVFormatContext, buf just found the fps. no frame numbers or duration info at all. who can help me ?
-
ffmpeg seek calculating wrong byte range ?
17 décembre 2015, par user4455I'm running into an issue while trying to extract thumbnails from a movie file at a specific timestamp. Generally I've had no issues with this, but I've come across a set of movie files that are getting an error about the byte range requested (416 Requested Range Not Satisfiable).
The odd thing is that the server is correctly returning the content length in the partial content request, yet when it requests the movie file it requests a length that exceeds that.
This is a bit over my head, so I'm not sure what could be happening here. Any insight would be great.
The Command:
/usr/bin/ffmpeg -y -ss 1400 -i 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4' -qscale:v 2 -f image2 -vframes 1 -filter:v 'scale=192:108' -loglevel debug /data/www/storage/test.jpg 2>&1
The Error:
[https @ 0x22e1e00] header='HTTP/1.1 416 Requested Range Not Satisfiable' [https @ 0x22e1e00] http_code=416 [https @ 0x22e1e00] HTTP error 416 Requested Range Not Satisfiable
Source File Size:
1776706045 bytes
Source Content Duration:
2897.624271
Partial Content Request:
[https @ 0x22e1e00] header='HTTP/1.1 206 Partial Content' [https @ 0x22e1e00] http_code=206 [https @ 0x22e1e00] header='x-amz-id-2: 4J1pgHExIUA0GxIxSBmGJjrRqliHbsIjXeuGzVfTlaaoVXbyZI5FQNma8fGaifcovkXfxJev5yU=' [https @ 0x22e1e00] header='x-amz-request-id: 78B3BDBB0356EF40' [https @ 0x22e1e00] header='Date: Wed, 16 Dec 2015 23:51:29 GMT' [https @ 0x22e1e00] header='x-amz-meta-content-length: 2898' [https @ 0x22e1e00] header='x-amz-meta-cb-modifiedtime: Tue, 15 Dec 2015 17:59:51 GMT' [https @ 0x22e1e00] header='Last-Modified: Wed, 16 Dec 2015 23:44:59 GMT' [https @ 0x22e1e00] header='ETag: "6341a8022630667a8070a83575e542e7-27"' [https @ 0x22e1e00] header='Accept-Ranges: bytes' [https @ 0x22e1e00] header='Content-Range: bytes 0-1776706044/1776706045' [https @ 0x22e1e00] header='Content-Type: video/mp4' [https @ 0x22e1e00] header='Content-Length: 1776706045' [https @ 0x22e1e00] header='Server: AmazonS3' [https @ 0x22e1e00] header='Connection: close'
FFmpeg Request:
request: GET /my-bucket/mymoviefile.mp4 HTTP/1.1 User-Agent: Lavf/56.25.101 Accept: */* Range: bytes=1781732960- Connection: close Host: s3-us-west-2.amazonaws.com Icy-MetaData: 1
Entire Log:
# /usr/bin/ffmpeg -y -ss 1400 -i 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4' -qscale:v 2 -f image2 -vframes 1 -filter:v 'scale=192:108' -loglevel debug /data/www/storage/test.jpg 2>&1 ffmpeg version 2.6.4 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 54. 20.100 / 54. 20.100 libavcodec 56. 26.100 / 56. 26.100 libavformat 56. 25.101 / 56. 25.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 11.102 / 5. 11.102 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '1400'. Reading option '-i' ... matched as input file with argument 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4'. Reading option '-qscale:v' ... matched as option 'qscale' (use fixed quality scale (VBR)) with argument '2'. Reading option '-f' ... matched as option 'f' (force format) with argument 'image2'. Reading option '-vframes' ... matched as option 'vframes' (set the number of video frames to output) with argument '1'. Reading option '-filter:v' ... matched as option 'filter' (set stream filtergraph) with argument 'scale=192:108'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '/data/www/storage/test.jpg' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4. Applying option ss (set the start time offset) with argument 1400. Successfully parsed a group of options. Opening an input file: https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4. [https @ 0x22e1e00] request: GET /my-bucket/mymoviefile.mp4 HTTP/1.1 User-Agent: Lavf/56.25.101 Accept: */* Range: bytes=0- Connection: close Host: s3-us-west-2.amazonaws.com Icy-MetaData: 1 [https @ 0x22e1e00] header='HTTP/1.1 206 Partial Content' [https @ 0x22e1e00] http_code=206 [https @ 0x22e1e00] header='x-amz-id-2: 4J1pgHExIUA0GxIxSBmGJjrRqliHbsIjXeuGzVfTlaaoVXbyZI5FQNma8fGaifcovkXfxJev5yU=' [https @ 0x22e1e00] header='x-amz-request-id: 78B3BDBB0356EF40' [https @ 0x22e1e00] header='Date: Wed, 16 Dec 2015 23:51:29 GMT' [https @ 0x22e1e00] header='x-amz-meta-content-length: 2898' [https @ 0x22e1e00] header='x-amz-meta-cb-modifiedtime: Tue, 15 Dec 2015 17:59:51 GMT' [https @ 0x22e1e00] header='Last-Modified: Wed, 16 Dec 2015 23:44:59 GMT' [https @ 0x22e1e00] header='ETag: "6341a8022630667a8070a83575e542e7-27"' [https @ 0x22e1e00] header='Accept-Ranges: bytes' [https @ 0x22e1e00] header='Content-Range: bytes 0-1776706044/1776706045' [https @ 0x22e1e00] header='Content-Type: video/mp4' [https @ 0x22e1e00] header='Content-Length: 1776706045' [https @ 0x22e1e00] header='Server: AmazonS3' [https @ 0x22e1e00] header='Connection: close' [https @ 0x22e1e00] header='' [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] ISO: File Type Major Brand: mp42 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] Before avformat_find_stream_info() pos: 1647960 bytes read:1652200 seeks:0 [h264 @ 0x22e92c0] no picture [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] All info found [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] After avformat_find_stream_info() pos: 1862326 bytes read:1878504 seeks:0 frames:16 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: isommp41avc1 creation_time : 2015-11-18 02:34:41 Duration: 00:48:17.70, start: 0.000000, bitrate: 4905 kb/s Stream #0:0(und), 15, 1/2997: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 1001/60000, 9994 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 59.94 tbc (default) Metadata: creation_time : 2015-11-18 02:34:41 handler_name : ?Apple Video Media Handler Stream #0:1(und), 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default) Metadata: creation_time : 2015-11-18 02:34:41 handler_name : ?Apple Sound Media Handler Successfully opened the file. Parsing a group of options: output file /data/www/storage/test.jpg. Applying option qscale:v (use fixed quality scale (VBR)) with argument 2. Applying option f (force format) with argument image2. Applying option vframes (set the number of video frames to output) with argument 1. Applying option filter:v (set stream filtergraph) with argument scale=192:108. Successfully parsed a group of options. Opening an output file: /data/www/storage/test.jpg. Successfully opened the file. detected 2 logical cores [Parsed_scale_0 @ 0x22cd4c0] Setting 'w' to value '192' [Parsed_scale_0 @ 0x22cd4c0] Setting 'h' to value '108' [Parsed_scale_0 @ 0x22cd4c0] Setting 'flags' to value '0x4' [Parsed_scale_0 @ 0x22cd4c0] w:192 h:108 flags:'0x4' interl:0 [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'video_size' to value '1920x1080' [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'pix_fmt' to value '0' [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'time_base' to value '1/2997' [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x22ccfe0] Setting 'frame_rate' to value '2997/100' [graph 0 input from stream 0:0 @ 0x22ccfe0] w:1920 h:1080 pixfmt:yuv420p tb:1/2997 fr:2997/100 sar:1/1 sws_param:flags=2 [format @ 0x2798640] compat: called with args=[yuvj420p|yuvj422p|yuvj444p] [format @ 0x2798640] Setting 'pix_fmts' to value 'yuvj420p|yuvj422p|yuvj444p' [AVFilterGraph @ 0x22cda60] query_formats: 5 queried, 4 merged, 0 already done, 0 delayed [Parsed_scale_0 @ 0x22cd4c0] picking yuvj420p out of 3 ref:yuv420p alpha:0 [swscaler @ 0x22c3c80] deprecated pixel format used, make sure you did set range correctly [Parsed_scale_0 @ 0x22cd4c0] w:1920 h:1080 fmt:yuv420p sar:1/1 -> w:192 h:108 fmt:yuvj420p sar:1/1 flags:0x4 [mjpeg @ 0x2854e20] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x28716c0] intra_quant_bias = 96 inter_quant_bias = 0 [mjpeg @ 0x2795320] intra_quant_bias = 96 inter_quant_bias = 0 Output #0, image2, to '/data/www/storage/test.jpg': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: isommp41avc1 encoder : Lavf56.25.101 Stream #0:0(und), 0, 100/2997: Video: mjpeg, yuvj420p(pc, left), 192x108 [SAR 1:1 DAR 16:9], 100/2997, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc (default) Metadata: creation_time : 2015-11-18 02:34:41 handler_name : ?Apple Video Media Handler encoder : Lavc56.26.100 mjpeg Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native)) Press [q] to stop, [?] for help [https @ 0x22e1e00] request: GET /my-bucket/mymoviefile.mp4 HTTP/1.1 User-Agent: Lavf/56.25.101 Accept: */* Range: bytes=1781732960- Connection: close Host: s3-us-west-2.amazonaws.com Icy-MetaData: 1 [https @ 0x22e1e00] header='HTTP/1.1 416 Requested Range Not Satisfiable' [https @ 0x22e1e00] http_code=416 [https @ 0x22e1e00] HTTP error 416 Requested Range Not Satisfiable [mov,mp4,m4a,3gp,3g2,mj2 @ 0x22e1740] stream 0, offset 0x6a331660: partial file https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4: Invalid data found when processing input [output stream 0:0 @ 0x22d7500] EOF on sink link output stream 0:0:default. No more output streams to write to, finishing. frame= 0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Input file #0 (https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4): Input stream #0:0 (video): 0 packets read (0 bytes); 0 frames decoded; Input stream #0:1 (audio): 0 packets read (0 bytes); Total: 0 packets (0 bytes) demuxed Output file #0 (/data/www/storage/test.jpg): Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes); Total: 0 packets (0 bytes) muxed Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) 0 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x27ab100] Statistics: 1878504 bytes read, 0 seeks
FFprobe Result:
# /usr/bin/ffprobe -show_format -show_streams -i 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4' ffprobe version 2.6.4 Copyright (c) 2007-2015 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu libavutil 54. 20.100 / 54. 20.100 libavcodec 56. 26.100 / 56. 26.100 libavformat 56. 25.101 / 56. 25.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 11.102 / 5. 11.102 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: isommp41avc1 creation_time : 2015-11-18 02:34:41 Duration: 00:48:17.70, start: 0.000000, bitrate: 4905 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 9994 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 59.94 tbc (default) Metadata: creation_time : 2015-11-18 02:34:41 handler_name : ?Apple Video Media Handler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default) Metadata: creation_time : 2015-11-18 02:34:41 handler_name : ?Apple Sound Media Handler [STREAM] index=0 codec_name=h264 codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 profile=High codec_type=video codec_time_base=1001/60000 codec_tag_string=avc1 codec_tag=0x31637661 width=1920 height=1080 has_b_frames=1 sample_aspect_ratio=1:1 display_aspect_ratio=16:9 pix_fmt=yuv420p level=40 color_range=tv color_space=unknown color_transfer=unknown color_primaries=unknown chroma_location=left timecode=N/A refs=3 is_avc=1 nal_length_size=4 id=N/A r_frame_rate=2997/100 avg_frame_rate=2997/100 time_base=1/2997 start_pts=0 start_time=0.000000 duration_ts=8684300 duration=2897.664331 bit_rate=9994429 max_bit_rate=N/A bits_per_raw_sample=8 nb_frames=86843 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 TAG:creation_time=2015-11-18 02:34:41 TAG:language=und TAG:handler_name=Apple Video Media Handler [/STREAM] [STREAM] index=1 codec_name=aac codec_long_name=AAC (Advanced Audio Coding) profile=LC codec_type=audio codec_time_base=1/48000 codec_tag_string=mp4a codec_tag=0x6134706d sample_fmt=fltp sample_rate=48000 channels=2 channel_layout=stereo bits_per_sample=0 id=N/A r_frame_rate=0/0 avg_frame_rate=0/0 time_base=1/48000 start_pts=0 start_time=0.000000 duration_ts=139085965 duration=2897.624271 bit_rate=192002 max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=135828 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 TAG:creation_time=2015-11-18 02:34:41 TAG:language=und TAG:handler_name=Apple Sound Media Handler [/STREAM] [FORMAT] filename=https://s3-us-west-2.amazonaws.com/my-bucket/mymoviefile.mp4 nb_streams=2 nb_programs=0 format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV start_time=0.000000 duration=2897.695000 size=1776706045 bit_rate=4905156 probe_score=100 TAG:major_brand=mp42 TAG:minor_version=1 TAG:compatible_brands=isommp41avc1 TAG:creation_time=2015-11-18 02:34:41 [/FORMAT]