我的目标是拥有一台Ubuntu(桌面)服务器,简单地说就是#34;将html5网页转换为视频。我想捕捉平滑的css和js-animations。
到目前为止,我已经尝试过:(幻影) https://gist.github.com/phanan/e03f75082e6eb114a35c
时间和帧速率不稳定或快速。
到目前为止,我最好的解决方案是在自助服务终端模式下打开Google Chrome窗口,等待3秒,然后通过ffmpeg使用x11grab进行录制。感觉就像一个臃肿的"和非专业的解决方案。
program.sh
#!/bin/bash
duration=$1
outputFile=$2
stop=$(($duration+5))
./openBrowser.sh $stop & PIDOIS=$!
./recScreen.sh $duration $outputFile & PIDMIX=$!
wait $PIDIOS
wait $PIDMIX
recScreen.sh
#!/bin/bash
sleep 3
ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 -c:v libx264 -qp 0 -preset ultrafast -t "$1" "$2".mkv
killall -9 chrome
openBrowser.sh
#!/bin/bash
/usr/bin/google-chrome --kiosk --incognito http://localhost/testanimation
这可以用不同的方式完成吗?也许虚拟显示? (虽然必须有GPU)。这应该是一个桌面服务器,所以我不想要操作系统的弹出窗口或任何失败消息(因为它会被刻录到视频中......)
答案 0 :(得分:0)
你尝试过使用过吗?
recordmydesktop
它可以从命令行的单个窗口创建视频。 我用了
recordmydesktop --windowid $(xwininfo | awk '/Window id:/ {print $4}') --no-cursor --delay 1S --device default --channels 2 --fps 50 --freq 22050 --v_quality 53 --s_quality 5 -o $(date +%Y%m%d%H%M%S)
录制我的浏览器的视频,(这是交互式的,但您的脚本可以检测windowid。)