東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

録画終了後にnvencでh265エンコードする


スポンサードリンク

ビデオカードでエンコードできるようになったので、chinachuでの録画終了後に自動エンコードできるように設定しなおしました。

f:id:padobure:20201206182328j:plain

Photo by Christian Wiediger on Unsplash

参考にした記事

参考にしたのは以下の記事です。参考というか、ほぼこのまま活用してます。

qiita.com

自分用のスクリプト

自分の環境に適したスクリプトは以下です。

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

MSI GeForce GTX 1650 D6 AERO ITX OCV1 グラフィックスボード VD7338

  • 発売日: 2020/08/28
  • メディア: Personal Computers