Giter Club home page Giter Club logo

Comments (10)

magicalz avatar magicalz commented on July 30, 2024

刚试了一下B站还是可以正常录制的,本工具调用streamlink录制B站视频,你可以先试一下streamlink是否正常工作
streamlink --loglevel trace -o "test.ts" "https://live.bilibili.com/21672022" "1080p,720p,best"
以前曾经写过一篇文章关于环境配置的,你可以参考:https://www.bilibili.com/read/cv3697584

from streamrecorder.

Richardhzj avatar Richardhzj commented on July 30, 2024

十分感谢,之前几个发现的问题基本已经解决了。 把streamlink跟ffmpeg都重新安装调试后,B站已经可以开启录制了。 不过因为我的目的实际上是录制twitcasting的弹唱主播视频,还有一些问题我再研究一下。

另外由于你在B站环境配置那篇文章里, baidu网盘的那个iikira/BaiduPCS-GO项目已经给删了。 rclone参考配置用的那篇https://www.meowah.com/archives/876.html链接也打不开。 我只能自己找类似的rclone安装教程。 看的比较靠谱的一个是https://blog.csdn.net/Nedved_L/article/details/101429006

但是这个配饰是设置完rclone config后,有后续的挂载跟设置启动脚本, 不知道跟你的项目里的在config里写rclone remote name怎么配合起来,达到把视频下载后直接转存onedirve的操作

from streamrecorder.

Richardhzj avatar Richardhzj commented on July 30, 2024

大佬我感觉只差最后一步就能使用了。

今天有一个新发现, 你的recorder.sh里中间关于twitcast的代码有一段
“ MOVIEID=$(wget -q -O- ${LIVE_URL} | grep data-movie-id | awk -F '[="]+' '{print $2}')
ID=$(echo "$CHANNELID"|sed 's/:/:/')
LIVEDL_FNAME="${ID}${MOVIEID}.${SAVEFORMAT}"
FNAME="twitcast
$(date +"%Y%m%d_%H%M%S")_${MOVIEID}.${SAVEFORMAT}"”

这个我用一个url去测试了:
wget -q -O- https://twitcasting.tv/neko_hutekusare | grep data-movie-id
data-base-url="https://twitcasting.tv/" data-frontend-api-url="https://frontendapi.twitcasting.tv" data-broadcaster-id="neko_hutekusare" data-broadcaster-name="さやかたこわさ" data-broadcaster-screen-name="neko_hutekusare" data-broadcaster-profile-image="//imagegw02.twitcasting.tv/image3s/pbs.twimg.com/profile_images/1291770043202588673/dVEIFmjD_bigger.jpg" data-movie-id="639152117" data-audience-id="" data-account-type="not_logged_in" data-lang="en" data-update-interval="8000" data-cnum="60" data-sns-max-comment-length="140" data-is-sns-available="false" data-is-sns-connected="false" data-is-reply-widget-enabled="true" data-passcode="" >

这个data-movie-id "63915211 是用print$14获取到的,之前脚本的150行报错是因为print $2获取的参数不对。可能是过去一年了, tc台的url格式发生了变化?

这样拿到了id,就能正确获取tc台id,在log中创建日志文件了,有一个可能是mp4格式兼容的问题:Non-monotonous DTS in output stream 0:0; previous: -18000, current: -18000; changing to -17999. This may result in incorrect timestamp。 这个我到时再查查。

但是即使全部弄好了, 看日志在正常录制保存到指定文件夹了, 但是文件夹里还是没有视频文件, 之前bilibili,哪怕没有结束录制,文件都已经存在了:

[root@0ab9dc53bd89 StreamRecorder]# tail -f /var/log/screen/screenlog_tc_20200907_180650.log
[2020-09-07 18:07:00] ===twitcast=== Checking https://twitcasting.tv/c:gabby948...
[2020-09-07 18:07:00] ===twitcast=== Try to get current live stream of https://twitcasting.tv/c:gabby948
[2020-09-07 18:07:00] ===twitcast=== Start recording, stream saved to recorded/tc/twitcast/20200907/twitcast_20200907_180701_639292232.mp4
[2020-09-07 18:07:00] ===twitcast=== recording log saved to log/tc/twitcast/twitcast_20200907_180701_639292232.mp4.log, streaming log saved to log/tc/twitcast/twitcast_20200907_180701_639292232.mp4.streaming.log
^C
[root@0ab9dc53bd89 StreamRecorder]# cd recorded/tc/twitcast/
[root@0ab9dc53bd89 twitcast]# ls
20200907 metadata
[root@0ab9dc53bd89 twitcast]# cd 20200907/
[root@0ab9dc53bd89 20200907]# ls
[root@0ab9dc53bd89 20200907]# pwd
/usr/local/StreamRecorder/recorded/tc/twitcast/20200907

希望你有空的时候,可以帮忙稍微看一下跟twitcasting相关的录制问题。 现在看日志都没报错了,我实在是不知道还有哪里可以修改了。

你在github上面说的tc台需要安装的livedl,也已经装过了
wget https://github.com/yayugu/livedl/releases/download/20181215.36/livedl
chmod +x livedl

from streamrecorder.

magicalz avatar magicalz commented on July 30, 2024

晚上我有空看一下,直播网站的格式确实是会发生变化的,youtube就已经变过好几次,twitcasting很可能也变了
文件夹里没有文件其实是因为livedl这个工具默认只能在同目录下保存,并且文件名是固定的,所以我才需要去获取movie-id,并且用来把livedl目录下保存的视频档移动到指定目录中去,你在直播还没结束的时候去查看指定目录那当然是空的,当时使用livedl来下载tc台直播是因为streamlink不支持tc台高清直播,现在过去这么久了也许steamlink已经修复了这个问题

至于rclone,你在global.config里面正确配置好rcloneremotename和servername即可,不用自己挂载到磁盘,下载完视频后,如果autobackup这个参数为on,程序会自动把视频上传到你配置好的onedrive网盘,保存路径是$rcloneremotename:StreamRecorder/$servername/$savepath

TC台问题临时解决方法,把recorder.sh的150行改为:
MOVIEID=$(wget -q -O- ${LIVE_URL} | grep data-movie-id | awk -F '[="]+' '{for(i=1;i<=NF-1;i++)if($i ~ /data-movie-id/)print $(i+1)}')
晚点我测试下streamlink,如果steamlink现在正常下载TC台视频,我就统一使用steamlink来下载所有直播,去掉livedl

from streamrecorder.

Richardhzj avatar Richardhzj commented on July 30, 2024

好的十分感谢,抱歉过了这么久了又麻烦你来改进这个项目

我看完你的回复后又去看了一眼, 在根目录那现在的确出现了很多个.ts格式的视频。但是录制结束后依旧没有被移动到指定目录里。

我在global.config设置了mp4格式, bilibili也的确转换成了mp4格式,不知道为啥tc的视频依旧是ts格式。

这两个是之前的今天下午运行好了的结果,还没按照你的回复去修改150行。我等会再去试试,不过看到运行结果后我还有一个疑问, 不知道是不是有哪个配置项能设分p大小呢? 我下午录制的那个TC台测试直播,给自动分了8个文件感觉有点多了。
image

from streamrecorder.

magicalz avatar magicalz commented on July 30, 2024

代码已提交,主要修复了youtube,twitch,twitcasting格式变化后出现的问题,并且增加了一个程序入口streamrecorder.sh,用于统一控制其他脚本,具体请看更新后的readme
livedl只支持ts格式,所以不管你设置成mp4还是ts都是一样的,TC台的直播并没有分P,可能直播本来就是断断续续的,或者是由于你运行脚本的服务器的网络不稳定造成的
现已统一改成使用steamlink来下载视频(包括TC台),文件直接保存到指定目录里不会暂存到根目录了

from streamrecorder.

Richardhzj avatar Richardhzj commented on July 30, 2024

辛苦你了大佬,早点休息吧。 我再去测试一下

from streamrecorder.

Richardhzj avatar Richardhzj commented on July 30, 2024

今天我去检查了一下我服务器上的脚本。 tc台的有正确的录制成mp4格式保存在recorded下面了。

readme里说自动备份打开后会上传网盘并删除本地备份。 不过我autobackup写成on之后, 我在我的ondrive上没有看到视频, 同时recorded里的视频也没有删除。

image

我感觉我配置的没有问题, 配置rclone的时候也测试过显示出来的url的确连接的是我的网盘。

晚上我去试试手动调用你的那个上传脚本看看会不会成功

from streamrecorder.

magicalz avatar magicalz commented on July 30, 2024

你应该手动测试一下rclone命令行能否正常上传文件
rclone copy --no-traverse "savepath" "remotename:targetpath" --include "filename.*" --buffer-size 32M --transfers 6
另外看看log文件夹下autobackup和rclone相关的log文件里记录了什么内容,找到原因
我看你文件名里有?,你可以检查看看你系统的locales是否是UTF8的

from streamrecorder.

Richardhzj avatar Richardhzj commented on July 30, 2024

不知道下午那个测试的录制为什么没有成功上传。 但我实际想录制的那个弹唱的主播的今晚正常录制并且上传到onedrive了哈哈哈

我是用docker跑了一个centos容器来搞这个的,所以没调整字体格式估计默认不是utf8。 不过现在已经成功了。

十分感谢大佬你的耐心回复以及帮忙修改项目,占用你不少时间了。我网上找了好多个不同的项目,最后还是发现你这个操作最方便同时还能上传网盘,真是太贴心了。

麻烦你那么多天, 最后我把我想去听的那个直播链接给你听听哈哈哈。她底下tc也有几个录播。 你如果有兴趣的话有空也能点开看看, 起码知道这几天修改项目,是为了监控谁的。 那这个issue我也就先关了。祝你后续工作生活一切顺利。

https://twitcasting.tv/neko_hutekusare

from streamrecorder.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.