推流Youtube live到国内直播平台

要干啥

由于各种限制,很多直播在国内没有办法播放。科技类的直播也好,还有各种音乐的Live,我自己喜欢看然后希望国内的网友也能比较方便的看到。于是我就想到了将国外的Live实时通过海外服务器推流到国内b站微博直播等平台。我现在就这么干了并且觉得还挺方便。

准备

  • 海外的Linux服务器

  • 安装 youtube-dl

    一定要安装最新版本 Github链接 ,youtube-dl 可以获取下载各种主流平台的视频音频

  • 安装 ffmpeg

    安装介绍 Github链接,ffmpeg 可以处理视频格式和推流到国内直播接口

  • 安装 tmux

    tmux 用来将终端中的任务后台挂起,方便查看修改

    tmux 的基本使用

    • 输入 tmux 即可新建一个后台窗口

    • 输入 ctrl + b 然后输入 d 即可离开当前窗口

    • 输入 ctrl + b 然后输入 s 即可查看目前所有后台窗口
    • 在普通终端输入 tmux attah 即可进入后台终端
  • 国内的直播推流地址 (这个后面会详细说)

处理原直播地址

使用 youtube-dl -F 加直播地址链接即可查看 比如 95 就代表了 720p 的直播视频

1
2
3
4
5
6
7
8
9
10
11
12
➜ youtube-dl -F https://www.youtube.com/watch\?v\=WmutmzNRIx8
[youtube] WmutmzNRIx8: Downloading webpage
[youtube] WmutmzNRIx8: Downloading video info webpage
[youtube] WmutmzNRIx8: Downloading m3u8 information
[youtube] WmutmzNRIx8: Downloading MPD manifest
[info] Available formats for WmutmzNRIx8:
format code extension resolution note
91 mp4 256x144 HLS 197k , avc1.42c00b, 30.0fps, mp4a.40.5@ 48k
92 mp4 426x240 HLS 338k , avc1.4d4015, 30.0fps, mp4a.40.5@ 48k
93 mp4 640x360 HLS 829k , avc1.4d401e, 30.0fps, mp4a.40.2@128k
94 mp4 854x480 HLS 1380k , avc1.4d401f, 30.0fps, mp4a.40.2@128k
95 mp4 1280x720 HLS 2593k , avc1.4d401f, 30.0fps, mp4a.40.2@256k (best)

在tmux中 使用脚本推流到国内平台

我使用的推流脚本, 新建个Live.sh文件填入内容。

1
2
3
4
while true
do
/usr/local/ffmpeg/ffmpeg -re -i "$(youtube-dl -f 95 -g "https://www.youtube.com/watch?v=yG2gUkEGQFg")" -c:v copy -c:a aac -b:v 5000k -ar 44100 -ab 320k -ac 2 -strict -2 -flags +global_header -bsf:a aac_adtstoasc -bufsize 3000k -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_11544017_6609854&key=9154b3b093a32e50f021a0218f33644b"
done
  • -f 后面的 95 根据上一步的结果填写有更高清的格式可以自己填写

  • -g 后面双引号里的是原直播地址,也就是上一步中的直播地址。

  • 最后双引号里面的是国内直播rtmp地址

    bilibili

    bilibili 和 微博的都要拼接即将前后两个复制拼成一段!!!

开始推流

  • 输入 tmux 或者 tmux attach 进入新的窗口

  • ./Live.sh 执行推流脚本即可 正常你应该看到这种

    live

另外 如何下载 youtube 视频

  • 使用 youtube-dl -F 加链接查看视频格式 youtube 是音频视频分离的上面可以看到 audio only 下面是不不同视频格式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    ➜  blog youtube-dl -F https://youtu.be/5y_sIQTYwHo                                                      
    [youtube] 5y_sIQTYwHo: Downloading webpage
    [youtube] 5y_sIQTYwHo: Downloading video info webpage
    [info] Available formats for 5y_sIQTYwHo:
    format code extension resolution note
    249 webm audio only DASH audio 54k , opus @ 50k, 1.39MiB
    250 webm audio only DASH audio 72k , opus @ 70k, 1.82MiB
    171 webm audio only DASH audio 118k , vorbis@128k, 3.01MiB
    140 m4a audio only DASH audio 127k , m4a_dash container, mp4a.40.2@128k, 3.42MiB
    251 webm audio only DASH audio 138k , opus @160k, 3.47MiB
    278 webm 256x144 144p 106k , webm container, vp9, 15fps, video only, 2.53MiB
    160 mp4 256x144 144p 112k , avc1.4d400c, 30fps, video only, 2.50MiB
    242 webm 426x240 240p 234k , vp9, 30fps, video only, 5.34MiB
    133 mp4 426x240 240p 246k , avc1.4d4015, 30fps, video only, 4.98MiB
    243 webm 640x360 360p 434k , vp9, 30fps, video only, 9.65MiB
    134 mp4 640x360 360p 636k , avc1.4d401e, 30fps, video only, 11.36MiB
    244 webm 854x480 480p 800k , vp9, 30fps, video only, 17.45MiB
    135 mp4 854x480 480p 1194k , avc1.4d401f, 30fps, video only, 20.94MiB
    247 webm 1280x720 720p 1594k , vp9, 30fps, video only, 33.42MiB
    136 mp4 1280x720 720p 2380k , avc1.4d401f, 30fps, video only, 36.89MiB
    248 webm 1920x1080 1080p 2841k , vp9, 30fps, video only, 59.69MiB
    137 mp4 1920x1080 1080p 4074k , avc1.640028, 30fps, video only, 63.09MiB
    17 3gp 176x144 small 80k , mp4v.20.3, mp4a.40.2@ 24k (22050Hz), 2.15MiB
    36 3gp 320x180 small 229k , mp4v.20.3, mp4a.40.2 (22050Hz), 6.18MiB
    18 mp4 640x360 medium 663k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 17.85MiB (best)
  • 使用 youtube-dl -f 视频格式+音频格式 加 youtube链接 即可下载。装了 ffmpeg 即可自动合并音频视频

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ➜  blog youtube-dl -f 137+251 https://youtu.be/5y_sIQTYwHo  
    [youtube] 5y_sIQTYwHo: Downloading webpage
    [youtube] 5y_sIQTYwHo: Downloading video info webpage
    WARNING: Requested formats are incompatible for merge and will be merged into mkv.
    [download] Destination: 馬思唯_MASIWEI - 崂山道士-5y_sIQTYwHo.f137.mp4
    [download] 100% of 63.09MiB in 00:33
    [download] Destination: 馬思唯_MASIWEI - 崂山道士-5y_sIQTYwHo.f251.webm
    [download] 100% of 3.47MiB in 00:03
    [ffmpeg] Merging formats into "馬思唯_MASIWEI - 崂山道士-5y_sIQTYwHo.mkv"
    Deleting original file 馬思唯_MASIWEI - 崂山道士-5y_sIQTYwHo.f137.mp4 (pass -k to keep)
    Deleting original file 馬思唯_MASIWEI - 崂山道士-5y_sIQTYwHo.f251.webm (pass -k to keep)

    这时候你本地就有了!

  • 如何下载视频并加上youtube上的字幕

    • 先查看所有支持的语言字幕 youtube-dl –list-subs + url

      1
      2
      3
      4
      5
      6
      7
      8
      9
      ➜  ~ youtube-dl --list-subs https://www.youtube.com/watch\?v\=JPJjwHAIny4                                   
      [youtube] JPJjwHAIny4: Downloading webpage
      [youtube] JPJjwHAIny4: Downloading video info webpage
      [youtube] JPJjwHAIny4: Looking for automatic captions
      Available automatic captions for JPJjwHAIny4:
      Language formats
      Available subtitles for JPJjwHAIny4:
      Language formats
      en vtt, ttml
    • 和上一步一样下载视频时添加上字母语言就好了 en 是上步查看到支持字母的语言,这里请自己填好,-f 视频格式上一步说了。

      youtube-dl -f 136+251 –sub-lang en –write-auto-sub URL

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      ➜  ~ youtube-dl -f 136+251 --sub-lang en --write-auto-sub https://www.youtube.com/watch\?v\=JPJjwHAIny4
      [youtube] JPJjwHAIny4: Downloading webpage
      [youtube] JPJjwHAIny4: Downloading video info webpage
      [youtube] JPJjwHAIny4: Looking for automatic captions
      [info] Writing video subtitles to: Lady Gaga, Bradley Cooper - Shallow (From A Star Is Born_Live From The Oscars)-JPJjwHAIny4.en.vtt
      WARNING: Requested formats are incompatible for merge and will be merged into mkv.
      [download] Destination: Lady Gaga, Bradley Cooper - Shallow (From A Star Is Born_Live From The Oscars)-JPJjwHAIny4.f136.mp4
      [download] 100% of 20.04MiB in 00:13
      [download] Destination: Lady Gaga, Bradley Cooper - Shallow (From A Star Is Born_Live From The Oscars)-JPJjwHAIny4.f251.webm
      [download] 100% of 3.85MiB in 00:04
      [ffmpeg] Merging formats into "Lady Gaga, Bradley Cooper - Shallow (From A Star Is Born_Live From The Oscars)-JPJjwHAIny4.mkv"
      Deleting original file Lady Gaga, Bradley Cooper - Shallow (From A Star Is Born_Live From The Oscars)-JPJjwHAIny4.f136.mp4 (pass -k to keep)
      Deleting original file Lady Gaga, Bradley Cooper - Shallow (From A Star Is Born_Live From The Oscars)-JPJjwHAIny4.f251.webm (pass -k to keep)

      这样也就好了!

要恰饭的嘛(逃