分类 linux 下的文章

b站24小时不间断直播

安装ffmpeg

apt-get install ffmpeg -y

sh脚本

#!/bin/bash

# 视频文件夹路径
video_folder="/xxx"

# 获取视频文件列表
video_files=("$video_folder"/*.mp4)
num_videos=${#video_files[@]}
current_video_index=0

while true; do
    # 获取当前视频文件路径
    current_video="${video_files[$current_video_index]}"

    # 获取视频时长(单位:秒)
    video_duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$current_video")

    # 推流当前视频到Bilibili直播
    ffmpeg -re -i "$current_video" -c:v libx264 -preset veryfast -b:v 1000k -maxrate 1000k -bufsize 2000k -pix_fmt yuv420p -g 60 -c:a aac -b:a 96k -ac 2 -ar 44100 -f flv "rtmp://your_bilibili_push_url" &

    # 获取推流进程的PID
    ffmpeg_pid=$!

    # 等待视频推流结束
    sleep "$video_duration"

    # 终止推流进程
    kill $ffmpeg_pid

    # 自动播放下一个视频
    current_video_index=$(( (current_video_index + 1) % num_videos ))

    # 可选:在每次推流后等待一段时间,以便给服务器一些休息时间
    sleep 5
done

使用软链接来修改docker的默认存储位置

默认情况下Docker的存放位置为:/var/lib/docker

可以通过下面命令查看具体位置:

sudo docker info | grep "Docker Root Dir"

首先停掉Docker服务:

systemctl stop docker #或者service docker stop

然后移动整个/var/lib/docker目录到目的路径:

mv /var/lib/docker  /home/work/docker_root

ln -s /home/work/docker_root  /var/lib/docker

这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘。

Portainer

Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。

安装

拉取Portainer的Docker镜像;

docker pull portainer/portainer

运行Portainer容器;

docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer

访问地址:ip:9000

使用

  1. app templates相当于应用商店吧,有很多模板,里面的源是github要科学上网
  2. images

    拉取镜像,但是拉取镜像的过程看不到,只能是知道正在拉,我的评价是不如直接在命令行输入docker pull

    管理镜像,选择images里面列出的镜像点进去可以选择分享和删除

  3. containers

    点击add container 可以添加容器,点进去之后里面有一个必填的image,就是填拉取的镜像已经拉取过的把下面的always pull image 关掉。就是说其实是可以不用特地到images里面去拉取镜像,可以在要用的时候自己拉取。

    还是这个页面往下有一个network ports configuration

    把public all exposed network ports to random host ports 打开

    或者点击 publish a new network port 来映射端口

    在最后面的advanced container settings 里面env 可以添加环境变量

    Volumes 里添加文件夹映射。

    点击 map additional volume 按钮。
    container 写入容器中文件夹位置,然后选择 Bind 选项。
    在 host 中填入服务器上挂载的文件夹位置。

    quick actions里面第一个标是log点进去可以查看日志,这个确实比较方便,比如是在安装青龙面板的时候,好像会一直占用一个控制器,这个就相当于是后台自己在跑,然后也方便去看哪里出了问题

    第二个图标是Inspect可以用来看容器的详细信息,包括id,存放的位置和log文件位置

    在NetworkSettings这里可以看容器运行的ip,用在例如openwrt的docker版本看ip

    第三个图标是Stats可以看内存和cpu的使用情况下面还会标出pid

    第四个是Console按钮,可以进入到容器中去执行命令,比进入到MySQL容器中去执行登录命令

  4. Registries

    点击add registry添加的镜像仓库,在registry provider里选择custom registry

    下面的name随便写一个,registry url填url

    这样在拉取镜像的时候,就可以选择从其他镜像仓库拉取了。

在 armbian 上安装 xfce 和 VNC 做远程桌面

配置 xfce 和 VNC

  1. 安装xfce和vnc

    apt update
    apt install xrdp -y
    apt install dbus-x11 -y

    安装好之后reboot一下。

    apt install xfce4 xfce4-goodies -y
    apt install tigervnc-standalone-server -y
    sudo apt-get install tigervnc-common -y
  2. 初始化VNC:

    vncserver

    输入两次密码然后会询问你是否创建仅观看(View-only)的密码,输入仅观看密码登录到VNC的用户只能观看远程桌面不能进行控制,可以创建也可以直接输入“n”跳过。

    设置好后杀掉创建出来的VNC进程:

    vncserver -kill :1
  3. 创建xstartup

    nano ~/.vnc/xstartup

    键入如下内容:

    #!/bin/bash
    xrdb $HOME/.Xresources
    startxfce4

    给这个文件加运行权限:

    chmod +x ~/.vnc/xstartup
  4. 测试是否可用:

    vncserver -localhost no

    -localhost no ,为可远程连接,此时可以在另一台设备上用vnc连一下试试。

    windows vnc下载:https://www.realvnc.com/en/connect/download/viewer/

    vnc上输入ip:5901

    端口号回显的日志文件名决定,如果为“xxx:1.log”,则输入5901。

    如果回显的日志文件为“xxx:2.log”,则需要放行5902端口;如果为“xxx:3.log”,则需要放行5903端口,以此类推。

    image-20240209133308535

    测试好了直接kill掉就行:

    vncserver -kill :1

中文显示为▯的问题

安装字体:

apt install fonts-wqy-zenhei -y

然后kill掉所有xfce进程和vnc进程再重新开。

安装火狐浏览器

sudo apt-get install firefox-esr -y

image-20240209133006357

设置VNC开机启动

修改启动脚本

vim /etc/rc.local

添加以下内容

su - root -c "/usr/bin/vncserver -depth 24 -geometry 1920x1080 :1 &"

用x-ui搭建节点

需要的原料:1. vps

  1. ssh连接vps

    ssh root@ip -p 22

    image-20240127110726450

    这个是看cmd,有的可以有的不行。我电脑的cmd不行,但是我用的第三方的cmd可以,这个软件叫做cmder。不想装的话也可以用xshell或者finalshell。
  2. 安装x-ui面板:

    bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/956bf85bbac978d56c0e319c5fac2d6db7df9564/install.sh) 0.3.4.4
  3. vmess + ws

    image-20240127113814830

    点击添加入站

    image-20240127113838277

    协议选择vmess,端口任意(如果想要套cdn,可以选择80, 8080, 8880, 2052, 2086, 2095)

    点一下添加用户旁边的加号,网络选择ws

    image-20240127114050589

    选择好之后会有一个路径

    把usr1中id的第一段填到 / 之后

    例如:

    image-20240127114210183

    填a365152f

    填完之后点击添加

  4. 在v2rayN客户端添加节点

    image-20240127114400099

    点击操作

    image-20240127114431017

    选择二维码

    image-20240127114500793

    点击复制

    打开v2rayN

    image-20240127114659876

键盘按ctrl+v或者点击左上角服务器

image-20240127114839199

选择从剪贴板导入批量URL