环境
ubuntu1804 + vlc
背景
使用笔记本进行vlc推流占用CPU过多,因此将推流的工作交给服务器来完成.
参考
https://blog.csdn.net/weixin_36066355/article/details/116893959
https://www.blackmoreops.com/2015/11/02/fixing-vlc-is-not-supposed-to-be-run-as-root-sorry-error/
步骤
- 创建容器,推流工作将在容器中进行:
docker run --gpus all -tid --name tool -v /home/admin/temp:/home/admin/temp --net=host --privileged nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton
(说明:这个容器是关于deepstream的容器,请使用自己熟悉的容器) - 安装vim
apt-get install vim
- 更新阿里源
vi /etc/apt/sources.list
(可以将本来的内容全部清空)deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
update
- 安装vlc
apt-get install vlc
- 执行
vlc
,会发现报错如下:
VLC is not supposed to be run as root. Sorry
找到vlc程序所在的目录,我这里是/usr/bin/vlc
执行命令:sed -i 's/geteuid/getppid/g' /usr/bin/vlc
再次执行vlc
,会发现没有报错 - 通过vlc将视频推成rtsp流:
vlc -vvv /home/admin/temp/20min.mp4 --sout '#rtp{sdp=rtsp://192.168.0.137:8554/test}'
(打印了一堆东西,也不知道是否成功) - 通过windows的vlc进行验证,最终能得到画面,表示成功.
(也可以通过其他方式验证)