【GStreamer】TX1在opencv中调用gstreamer解码海康IP摄像头

 

opencv安装方法: 

sudo apt-get update 
sudo apt-get install build-essential cmake git pkg-config 
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev 
sudo apt-get install libgtk2.0-dev 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev 
sudo apt-get install libatlas-base-dev gfortran 
//在opencv里面安装gstreamer插件 
sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav 
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev 
//———————————–这个不要 
cd ~ 
git clone https://github.com/Itseez/opencv.git 
cd opencv 
git checkout 3.0.0 
———————// 
cd ~/opencv 
nkdir build 
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler .. 
make -j4 
sudo make install


编译好之后的使用方法: 

 

cvCaptureFromFile(”rtspsrc location=\”rtsp://192.168.1.64:554/user=admin&password=admin&channel=3&stream=0.sdp?real_stream–rtp-caching=10\” latency=10 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! appsink“); 


把ip改成你们的网络摄像头的IP即可。(海康大华的摄像头略有不同,根据下面修改对应的参数即可)

附: 
海康: 

rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream 


说明: 
username: 用户名。例如admin。 
password: 密码。例如12345。 
ip: 为设备IP。例如 192.0.0.64。 
port: 端口号默认为554,若为默认可不填写。 
codec:有h264、MPEG-4、mpeg4这几种。 
channel: 通道号,起始为1。例如通道1,则为ch1。 
subtype: 码流类型,主码流为main,辅码流为sub。

例如,请求海康摄像机通道1的主码流,Url如下 
主码流: 
rtsp://admin:[email protected]:554/h264/ch1/main/av_stream 
rtsp://admin:[email protected]:554/MPEG-4/ch1/main/av_stream

子码流: 
rtsp://admin:[email protected]/mpeg4/ch1/sub/av_stream 
rtsp://admin:[email protected]/h264/ch1/sub/av_stream

大华: 
rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0 
说明: 
username: 用户名。例如admin。 
password: 密码。例如admin。 
ip: 为设备IP。例如 10.7.8.122。 
port: 端口号默认为554,若为默认可不填写。 
channel: 通道号,起始为1。例如通道2,则为channel=2。 
subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

例如,请求某设备的通道2的辅码流,Url如下 
rtsp://admin:[email protected]:554/cam/realmonitor?channel=2&subtype=1

解码测试: 

gst-launch-1.0 rtspsrc location=\”rtsp://admin:[email protected]:554/h264/ch1/main/av_stream\” latency=0 ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! xvimagesink sync=false

 

海康大华摄像头格式参考:https://blog.csdn.net/xiejiashu/article/details/38523437

 

 

转自:https://blog.csdn.net/maxhn0/article/details/78423986

 

你可能感兴趣的:(Gstreamer,Gstreamer,多媒体,opencv)