top of page

・パッと感じた可能性・考えている運用方法

28n1k

・メディア関係は運用を考えるときが一番楽しい

90gba

・でも今回はいける気がする

7pda4

・追記

544br

Table of contents

VLOGをやってみたいという話

更新日:2023年8月24日

「思考を整理する方法」を模索して辿り着いた先 という記事を拝見しまして、あっおれもVLOGみたいなことがしてみたいって思って、運用を考えるのがとても楽しかったので書いています。

パッと感じた可能性・考えている運用方法

紹介したnoteに書いてあるとおり https://github.com/Softcatala/whisper-ctranslate2 をインストールします。


下記のコマンドでインストールするとのことだが、入らなかった

pip install -U whisper-ctranslate2

これで入れる

pip3 install -U whisper-ctranslate2


下記のコマンドを実行すると

whisper-ctranslate2 --model large-v2 --language ja test.mov

こんな感じで字幕のファイルが生成されるので、あとはVLCで再生すると字幕もちゃんと表示されます。


そして精度もかなり高いし、字幕生成の速度も申し分ない。そしてコスト0! 神!


VLCの再生が若干ラグいのはどうにかしたい。なにかしら設定をいじれば改善するのか、そもそもVLCじゃないソフトで再生するべきか。


とりあえずの運用としてはMacの連携カメラ or iPhoneで撮影 の動画を上記コマンドで変換してVLCで見るという感かな。iPhone15出たら撮影から取り込みの時間も短縮できそうだし、いいのでは?


かなり改善の余地はあるがそれも含めて面白い!


メディア関係は運用を考えるときが一番楽しい

まぁぶっちゃけこれなんですよね。自分はそこまで継続が得意な方じゃないので...

今が一番楽しいのかも?


字幕さえできれば、要約やタイトルも自動生成できるのでVLOGからBLOGが作成できるのでは?とか、いろいろ思いついて楽しいっすね。


頭で考えるのはいいんだけど、まあ一番大事なのはちゃんと撮影するか、継続できるかという部分なんだよな。


でも今回はいける気がする

でも、最近サイクリング時に一人で思ったことをしゃべる動画とか回していたし、なんか楽しいし、それなりに意味もありそうなので一旦続けてみまーす。


また報告します。では。


追記

VLCで再生すると動画がずれたり、カクつく問題があるのでffmpegで直接動画を焼くことにした

ffmpeg入ってなかったので入れて、実行

brew install ffmpeg
ffmpeg -i test.mov -vf "subtitles=test.srt" output.mov

srtファイルに長い文字がある場合に文字が見切れてしまう問題があるが、それは subsrt というライブラリでなんとなく処理できるっぽい(形態素解析でいい感じのところで改行できるか試したが面倒になったのでとりあえずこれで。)

const fs = require('fs');
const subsrt = require('subsrt');

// 文字列を指定された長さで改行する関数
function wrapText(text, maxLength) {
    let result = '';
    let line = '';
    for (let char of text) {
        if (line.length + char.length > maxLength) {
            result += line + '\n';
            line = '';
        }
        line += char;
    }
    result += line;
    return result;
}

// SRTファイルを読み込む
const content = fs.readFileSync('input.srt', 'utf-8');
const parsed = subsrt.parse(content);

// 各字幕のテキストを処理する
parsed.forEach(item => {
    item.text = wrapText(item.text, 30);
});

// 編集した字幕をSRT形式に戻す
const output = subsrt.build(parsed);
fs.writeFileSync('output.srt', output, 'utf-8');

ここら辺のコマンドラインができたらzxでいい感じに合体して、一つのスクリプトにするものいいアイデアだと思う。


bottom of page