Ffmpeg ARM板中的USB网络摄像头流(i.MX6)

Ffmpeg ARM板中的USB网络摄像头流(i.MX6),ffmpeg,gstreamer,embedded-linux,webcam,imx6,Ffmpeg,Gstreamer,Embedded Linux,Webcam,Imx6,我想通过网络传输摄像头。我已将USB网络摄像头连接到I.MX6板,并希望通过网络在Ubuntu14.04/16.04中进行流式传输 顺便说一句,我已经在I.MX6板上安装了用于此目的的gstreamer和ffmpeg工具 此外,我还可以使用以下ffmpeg命令在Ubuntu14.04 PC中传输USB网络摄像头。但如果我在其他Ubuntu16.04中使用ffplay,它也不起作用,我不知道为什么(两者都是相同的ffmpeg版本) Ubuntu 16.06:(不工作) Ubuntu 14.04:(

我想通过网络传输摄像头。我已将USB网络摄像头连接到I.MX6板,并希望通过网络在Ubuntu14.04/16.04中进行流式传输

顺便说一句,我已经在I.MX6板上安装了用于此目的的gstreamer和ffmpeg工具

此外,我还可以使用以下ffmpeg命令在Ubuntu14.04 PC中传输USB网络摄像头。但如果我在其他Ubuntu16.04中使用ffplay,它也不起作用,我不知道为什么(两者都是相同的ffmpeg版本)

Ubuntu 16.06:(不工作)

Ubuntu 14.04:(正在运行)


最后,我想流与不同的臂板。我也无法生成ffplay命令。覆盆子皮也有同样的问题。我在这里做错了什么或误解了什么?

您想将实时USB摄像头源从iMX6传输到PC。假设我理解正确,请在iMX6上运行以下管道

gst-launch-1.0 imxv4l2src device=/dev/video3 ! videoconvert ! queue ! vpuenc_h264 ! rtph264pay ! udpsink host=10.18.0.125 port=5004
通过在我的电脑上运行以下管道

gst-launch-1.0 udpsrc port=5004 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)96, encoding-name=(string)H264" ! rtph264depay ! avdec_h264 ! xvimagesink

我可以在PC上查看USB摄像头流。

看起来有点像防火墙问题。也许添加
?broadcast=1
选项可以缓解文档不工作的问题。即兴表演udp://192.168.0.105:1234?broadcast=1the 应该添加标志我的意思是将其添加到ffmpeg命令中
titus@titus-laptop:~$ 
titus@titus-laptop:~$ ffplay udp://127.0.0.1:1234
ffplay version 3.3.2 Copyright (c) 2003-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libtheora --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
[h264 @ 0xb0621660] non-existing PPS 0 referenced sq=    0B f=0/0   
    Last message repeated 1 times
[h264 @ 0xb0621660] decode_slice_header error
[h264 @ 0xb0621660] non-existing PPS 0 referenced
[h264 @ 0xb0621660] decode_slice_header error
[h264 @ 0xb0621660] non-existing PPS 0 referenced
[h264 @ 0xb0621660] decode_slice_header error
[h264 @ 0xb0621660] non-existing PPS 0 referenced
[h264 @ 0xb0621660] decode_slice_header error
[h264 @ 0xb0621660] no frame!
[h264 @ 0xb0621660] non-existing PPS 0 referenced sq=    0B f=0/0   
1751.47 M-V: -0.021 fd=   0 aq=    0KB vq=   11KB sq=    0B f=0/0   
1751.63 M-V: -0.020 fd=   0 aq=    0KB vq=   11KB sq=    0B f=0/0   
1751.80 M-V: -0.020 fd=   0 aq=    0KB vq=   11KB sq=    0B f=0/0 
gst-launch-1.0 imxv4l2src device=/dev/video3 ! videoconvert ! queue ! vpuenc_h264 ! rtph264pay ! udpsink host=10.18.0.125 port=5004
gst-launch-1.0 udpsrc port=5004 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, payload=(int)96, encoding-name=(string)H264" ! rtph264depay ! avdec_h264 ! xvimagesink