ビデオカードでエンコードできるようになったので、chinachuでの録画終了後に自動エンコードできるように設定しなおしました。
Photo by Christian Wiediger on Unsplash
参考にした記事
参考にしたのは以下の記事です。参考というか、ほぼこのまま活用してます。
自分用のスクリプト
自分の環境に適したスクリプトは以下です。
ffmpegのオプションが効かないので、-preset slow
をなんとなくで入れてます。
#!/bin/bash log=/home/chinachu/chinachu/log/encode dir_output="/home/chinachu/chinachu/recorded/enc" outfile=${1%.*}hevc_nvenc.mp4 mp4file=${outfile##*/} echo -----start encoding @$(date +%Y/%m/%d/%H:%M:%S)----- >> $log start=$(date +%s) echo $1 >> $log /usr/local/bin/ffmpeg -i "$1" -vcodec hevc_nvenc -preset slow "${dir_output}/${mp4file}" 2>&1 | grep "^[^f]" >> $log end=$(date +%s) diff=$(expr $end - $start) echo about $(expr $diff / 60) min. >> $log echo ---finish encoding @$(date +%Y/%m/%d/%H:%M:%S)--- >> $log echo >> $log /home/chinachu/chinachu/usr/bin/ffmpeg -y -i "${dir_output}/${mp4file}" -ss 30 -t 1 -r 1 -s 1280x720 "${dir_output}/${mp4file}.jpg" > /dev/null 2>&1 /usr/local/bin/slack ${dir_output}/${mp4file}.jpg exit 0
エンコード速度
2時間番組が約22分でエンコード完了しました。約5倍の速度です。
以下の2時間番組のエンコードログを見ると、14:00:03開始し14:22:10に終了しているのがわかります。
-----start encoding @2020/12/05/14:00:03----- ./recorded/王様のブランチ[201205-1159]初登場!NiziUに20の質問▽吉田羊&磯村勇斗▽冬アイス.m2ts ~途中省略 ./recorded/王様のブランチ[201205-1159]初登場!NiziUに20の質問▽吉田羊&磯村勇斗▽冬アイス.m2ts: corrupt decoded frame in stream 0 video:1698597kB audio:113119kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.337262% [aac @ 0x2e4af40] Qavg: 1042.187 about 22 min. ---finish encoding @2020/12/05/14:22:10---
このビデオカード購入してよかった。
MSI GeForce GTX 1650 D6 AERO ITX OCV1 グラフィックスボード VD7338
- 発売日: 2020/08/28
- メディア: Personal Computers