1,000万円を超えたbitcoinを少しだけどもらえるURL
https://bitflyer.com/invitation?id=l50e5ljw&lang=ja-JP
ハピタスからポイントもらえるURL
ffmpegで動画の長さ(何時間あるか)を取得したい。ffmpegをインストールしたときに同時にインストールされる ffprobe を使えばできる。
$ ffprobe -i test.mp4 -show_entries format=duration -v quiet -of csv="p=0" -sexagesimal
8:37:21.086000 と出たので
8時間37分21秒 +086000ミリ秒 の動画と分かる。
この動画のサイズは 7.3GBなので
7.3GBのサイズで8時間37分21秒なのだと分かる。
ブルーレイに焼くときには(ISOの規約により?)1ファイルにつき約3.7GBの上限があるから、これを分割したくなる。
7.3GBのサイズで8時間37分21秒なのだから
3GB+3GB+1.3GBに分割すれば、3時間+3時間+2時間みたいになるだろう。たぶん。
ざっくりで全然OK。
で、これを3時間+3時間+2時間に切り出したい。動画を切り出すスクリプトを書く。KARAを聴きながらササっと書いてみる。
できた。こうやって使う。
まずは情報取得(ffprobe)。
$ ./trimWOW.sh '【国会中継】参院予算委_新型コロナ対策など3次補正予算案で質疑(2021年1月28日)-XRu-K0Z9Upw.mp4'
色反転した行から下が今回の動画の長さ。8時間37分21秒と分かる。
これを切り出す。開始ゼロ秒から3時間(10800秒)までを切り出してみよう。切り出されたあとのファイルには sepaという文字列(=separate=分割)を付加している。
$ ./trimWOW.sh '【国会中継】参院予算委_新型コロナ対策など3次補正予算案で質疑(2021年1月28日)-XRu-K0Z9Upw.mp4' 0 10800 sepa1
8GBから3GB切り出すのもものの数分で終わってしまう。ffmpegすばらしい。
ソースはこれ。
$ vim trimWOW.sh
それにしてもKARAやっぱ最高だな。
この腹筋。めっちゃ鍛え上げられとる。美しい。
ソース
#!/bin/bash
shopt -s expand_aliases
source ~/.bashrc
mydate=`date +"%Y%m%d_%H%M%S"`
if [ $# -lt 3 ]
then
echo '引数足りない'
echo '============'
echo "$0"' wow_2020.ts start(秒) 録画時間(秒) 付加文字列'
echo '============'
echo "$0"' $1 $2 $3 $4'
echo '============'
echo '1時間:'$*1'秒'
echo '2時間:'$*2'秒'
echo '3時間:'$*3'秒'
echo '4時間:'$*4'秒'
echo '5時間:'$*5'秒'
echo '6時間:'$*6'秒'
echo '7時間:'$*7'秒'
echo '8時間:'$*8'秒'
echo '9時間:'$*9'秒'
echo '10時間:'$*10'秒'
echo '10.5間:'$*11'秒'
echo ''
echo '全体の長さを知るには ffprobe'
echo 'ffprobe -i test.mp4 -show_entries format=duration -v quiet -of csv="p=0"'
echo '21605.147000 ←6時間'
echo 'ffprobe -i test.mp4 -show_entries format=duration -v quiet -of csv="p=0" -sexagesimal'
echo '6:00:05.147000 ←6時間'
echo '============'
echo 'src動画の長さ(秒)'
ffprobe -i "$1" -show_entries format=duration -v quiet -of csv="p=0"
echo '============'
echo 'src動画の長さ(時:分:秒)'
ffprobe -i "$1" -show_entries format=duration -v quiet -of csv="p=0" -sexagesimal
echo '============'
exit
fi
cd /media/WD30EZRX/PT3
# cd /media/2TB/NHK
# VLC
#
# extension
# ext=${OUTNAME##*.}
ext=${1##*.}
body="${1%%.$ext*}"
echo 'ファイル:'"$1"
echo '拡張子 :'"$ext"
echo 'body :'"$body"
# wow_NHKBSP_20200916_053255.ts
# wow_NHKBSP_20200916_053255_trim.ts
if [[ -n $4 ]]
then
OUTNAME="$body"_"$4"_trim."$ext"
else
OUTNAME="$body"_trim."$ext"
fi
(
echo $mydate
echo "開始秒 :$2"
echo "ファイル名:$OUTNAME"
echo "録画秒 :$3"
) | tee -a trimWOW.log
# ffmpeg -ss 7211 -i wow_16916_20200916_053301.ts.part -strict -2 -c:v copy -c:a copy -t 900 wowtrim01.ts
ffmpeg -ss "$2" -i "$1" -strict -2 -c\:v copy -c\:a copy -t "$3" "$OUTNAME"
echo '============'
echo '1時間:'$*12'秒'
echo '2時間:'$*13'秒'
echo '3時間:'$*14'秒'
echo '4時間:'$*15'秒'
echo '5時間:'$*16'秒'
echo '6時間:'$*17'秒'
echo '7時間:'$*18'秒'
echo '8時間:'$*19'秒'
echo '9時間:'$*20'秒'
echo '10時間:'$*21'秒'
echo '10.5間:'$*22'秒'
echo '============'
echo 'ファイル:'"$1"
echo '拡張子 :'"$ext"
echo 'body :'"$body"
echo '============'
echo $mydate
echo "開始秒 :$2"
echo "ファイル名:$OUTNAME"
echo "録画秒 :$3"
echo '============'
echo "$OUTNAME"
echo '============'
echo 'src動画の長さ(秒)'
ffprobe -i "$1" -show_entries format=duration -v quiet -of csv="p=0"
echo '============'
echo 'src動画の長さ(時:分:秒)'
ffprobe -i "$1" -show_entries format=duration -v quiet -of csv="p=0" -sexagesimal