我正在进行项目,我需要有实时视频流。 我可以使用以下命令保存视频:
proc a {} {
exec ffmpeg -f dshow -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -
}
a
this is the current error:
ffmpeg started on 2017-11-17 at 15:24:45
Report written to "ffmpeg-20171117-152445.log"
Command line:
ffmpeg -f dshow -report -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -
ffmpeg version N-87353-g183fd30 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'dshow'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-rtbufsize' ... matched as AVOption 'rtbufsize' with argument '64M'.
Reading option '-i' ... matched as input url with argument 'video=Integrated Webcam'.
Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '1280x720'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'sdl2'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url video=Integrated Webcam.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=Integrated Webcam.
[dshow @ 0000000000e06a40] Selecting pin Capture on video
dshow passing through packet of type video size 614400 timestamp 5773900280000 orig timestamp 5773900274254 graph timestamp 5773900280000 diff 5746 Integrated Webcam
[dshow @ 0000000000e06a40] All info found
Input #0, dshow, from 'video=Integrated Webcam':
Duration: N/A, start: 577390.028000, bitrate: N/A
Stream #0:0, 1, 1/10000000: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
Successfully opened the file.
Parsing a group of options: output url -.
Applying option s (set frame size (WxH or abbreviation)) with argument 1280x720.
Applying option f (force format) with argument sdl2.
Successfully parsed a group of options.
Opening an output file: -.
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[rawvideo @ 0000000000d90be0] PACKET SIZE: 614400, STRIDE: 1280
detected 4 logical cores
dshow passing through packet of type video size 614400 timestamp 5773900600000 orig timestamp 5773900607587 graph timestamp 5773900600000 diff -7587 Integrated Webcam
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'video_size' to value '640x480'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'pix_fmt' to value '1'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'time_base' to value '1/10000000'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'frame_rate' to value '10000000/333333'
[graph 0 input from stream 0:0 @ 0000000000d96200] w:640 h:480 pixfmt:yuyv422 tb:1/10000000 fr:10000000/333333 sar:0/1 sws_param:flags=2
[scaler_out_0_0 @ 0000000000d967e0] Setting 'w' to value '1280'
[scaler_out_0_0 @ 0000000000d967e0] Setting 'h' to value '720'
[scaler_out_0_0 @ 0000000000d967e0] Setting 'flags' to value 'bicubic'
[scaler_out_0_0 @ 0000000000d967e0] w:1280 h:720 flags:'bicubic' interl:0
[AVFilterGraph @ 0000000000d94d40] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[scaler_out_0_0 @ 0000000000d967e0] w:640 h:480 fmt:yuyv422 sar:0/1 -> w:1280 h:720 fmt:yuyv422 sar:0/1 flags:0x4
dshow passing through packet of type video size 614400 timestamp 5773900970000 orig timestamp 5773900940920 graph timestamp 5773900970000 diff 29080 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773901240000 orig timestamp 5773901274253 graph timestamp 5773901240000 diff -34253 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773901720000 orig timestamp 5773901607586 graph timestamp 5773901720000 diff 112414 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773902040000 orig timestamp 5773901940919 graph timestamp 5773902040000 diff 99081 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773902360000 orig timestamp 5773902274252 graph timestamp 5773902360000 diff 85748 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773902680000 orig timestamp 5773902607585 graph timestamp 5773902680000 diff 72415 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773903000000 orig timestamp 5773902940918 graph timestamp 5773903000000 diff 59082 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773903320000 orig timestamp 5773903274251 graph timestamp 5773903320000 diff 45749 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773903640000 orig timestamp 5773903607584 graph timestamp 5773903640000 diff 32416 Integrated Webcam
[sdl,sdl2 @ 0000000000d911c0] w:1280 h:720 fmt:yuyv422 -> w:1280 h:720
Output #0, sdl,sdl2, to 'pipe:':
Metadata:
encoder : Lavf57.82.101
Stream #0:0, 0, 333333/10000000: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, q=2-31, 442368 kb/s, 30 fps, 30 tbn, 30 tbc
Metadata:
encoder : Lavc57.106.101 rawvideo
dshow passing through packet of type video size 614400 timestamp 5773903970000 orig timestamp 5773903940917 graph timestamp 5773903970000 diff 29083 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773904280000 orig timestamp 5773904274250 graph timestamp 5773904280000 diff 5750 Integrated Webcam
av_interleaved_write_frame(): Operation not permitted
No more output streams to write to, finishing.
dshow passing through packet of type video size 614400 timestamp 5773904660000 orig timestamp 5773904607583 graph timestamp 5773904660000 diff 52417 Integrated Webcam
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.0797x
video:1800kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (video=Integrated Webcam):
Input stream #0:0 (video): 1 packets read (614400 bytes); 1 frames decoded;
Total: 1 packets (614400 bytes) demuxed
Output file #0 (pipe:):
Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (1843200 bytes);
Total: 1 packets (1843200 bytes) muxed
1 frames successfully decoded, 0 decoding errors
dshow passing through packet of type video size 0 timestamp 5773907070000 orig timestamp 2644601806342528 graph timestamp 5773907070000 diff -2638827899272528 Integrated Webcam
Conversion failed!
% source c:/other/a/d.tcl
couldn't execute "ffmpeg -f dshow -t 00:00:10 -i {video=Integrated Webcam} -b 5000k -s 1280x720 c:\test\sample-a.avi": no such file or directory
% source c:/other/a/d.tcl
invalid command name "ffmpeg"
% source c:/other/a/d.tcl
ffmpeg version N-87353-g183fd30 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, dshow, from 'video=Integrated Webcam':
Duration: N/A, start: 523220.045000, bitrate: N/A
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, sdl,sdl2, to 'pipe:':
Metadata:
encoder : Lavf57.82.101
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, q=2-31, 442368 kb/s, 30 fps, 30 tbn, 30 tbc
Metadata:
encoder : Lavc57.106.101 rawvideo
av_interleaved_write_frame(): Operation not permitted
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.0471x
video:1800kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!
%
但是,问题是我不想保存视频,我只想拥有直播视频。
link:https://trac.ffmpeg.org/wiki/StreamingGuide,提供实时视频流的命令,但它需要工作,webcem启动,但实时视频流不会显示在屏幕上。
所以,任何人都可以帮我找到正确的“FFMPEG”命令甚至任何TCL脚本,以便在我的Windows 7上显示实时视频流。
ffplay started on 2017-11-17 at 12:44:40
Report written to "ffplay-20171117-124440.log"
Command line:
ffplay -report C:/test/sample.avi
ffplay version N-87353-g183fd30 Copyright (c) 2003-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
[NULL @ 0000000002aea040] Opening 'C:/test/sample.avi' for reading
[file @ 0000000002ae9c80] Setting default whitelist 'file,crypto'
[avi @ 0000000002aea040] Format avi probed with size=2048 and score=100
[avi @ 0000000002af30c0] use odml:1
[avi @ 0000000002aea040] Before avformat_find_stream_info() pos: 5678 bytes read:107912 seeks:4 nb_streams:1
[avi @ 0000000002aea040] All info found
[avi @ 0000000002aea040] After avformat_find_stream_info() pos: 33035 bytes read:107912 seeks:4 frames:1
Input #0, avi, from 'C:/test/sample.avi':
Metadata:
encoder : Lavf57.82.101
Duration: 00:00:10.00, start: 0.000000, bitrate: 5072 kb/s
Stream #0:0, 1, 1/30: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5078 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
detected 4 logical cores
nan M-V: nan fd= 0 aq= 0KB vq= 595KB sq= 0B f=0/0
Video frame changed from size:0x0 format:none serial:-1 to size:1280x720 format:yuv420p serial:1
[ffplay_buffer @ 0000000003a17ee0] Setting 'video_size' to value '1280x720'
[ffplay_buffer @ 0000000003a17ee0] Setting 'pix_fmt' to value '0'
[ffplay_buffer @ 0000000003a17ee0] Setting 'time_base' to value '1/30'
[ffplay_buffer @ 0000000003a17ee0] Setting 'pixel_aspect' to value '1/1'
[ffplay_buffer @ 0000000003a17ee0] Setting 'frame_rate' to value '30/1'
[ffplay_buffer @ 0000000003a17ee0] w:1280 h:720 pixfmt:yuv420p tb:1/30 fr:30/1 sar:1/1 sws_param:
[AVFilterGraph @ 0000000002b14fc0] query_formats: 2 queried, 1 merged, 0 already done, 0 delayed
答案 0 :(得分:3)
要通过相机查看直播,请尝试:
ffplay -f dshow -video_size 1280x720 -i video="device name"
使用以下命令从列出可用设备中找到设备名称:
ffmpeg -list_devices true -f dshow -i dummy
此外,要列出特定摄像机的分辨率,您可以运行以下命令:
ffmpeg -f dshow -list_options true -i video="device name"
答案 1 :(得分:1)
假设您的ffmpeg是最近的版本,请使用
ffmpeg -f dshow -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -
将弹出一个带有视频输出的窗口。
对于不那么近期的版本,您可能必须使用sdl
而不是sdl2
。