如何在tcl 8.0版和Windows 7上使用FFMPEG命令从网络摄像头流式传输实时视频显示? [英] How to stream live-video display from a webcam using FFMPEG command on tcl version 8.0 and windows 7?

查看:102
本文介绍了如何在tcl 8.0版和Windows 7上使用FFMPEG命令从网络摄像头流式传输实时视频显示?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从事项目,如果我需要直播视频. 我可以使用以下命令保存视频:

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!
%

但是,问题是我不想保存视频,我只想进行实时视频流传输.

链接: 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 

解决方案

假设您的ffmpeg是最新版本,请使用

ffmpeg -f dshow -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -

将弹出一个窗口,显示视频输出.

对于不太新的版本,您可能必须使用sdl而不是sdl2.

http://ffmpeg.zeranoe.com/builds/中获取最新的版本

I am working on project were i need to have the live video streaming. I am able to save the video using the command:

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!
%

But, the problem is i don't want to save the video, I just want to have live video streaming.

link: https://trac.ffmpeg.org/wiki/StreamingGuide, provide the command for live video streaming, but it want work, the webcem gets started, but live video streaming is not displayed on screen.

so, can any one help me out to get right "FFMPEG" command or even any TCL script, to get the live video streaming displayed on on my 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

解决方案

Assuming your ffmpeg is a recent build, use

ffmpeg -f dshow -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -

A window will pop up with the video output.

For not-so-recent builds, you may have to use sdl and not sdl2.

Get recent builds from http://ffmpeg.zeranoe.com/builds/

这篇关于如何在tcl 8.0版和Windows 7上使用FFMPEG命令从网络摄像头流式传输实时视频显示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆