premireで付けたチャプターマーカーをyoutubeでチャプタージャンプで使える様に

#やりたい事
youtubeで動画を投稿した際にまた見たいシーンなどによく使われる、チャプタージャンプ（私が勝手にそう呼んでいる）を楽に一覧で出したい。
そしてそれをコピペして概要欄に貼るだけ。

#最終的なもの
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/178061/d37ced02-cea5-aaa6-5803-495b27449fc2.png)

この青枠のタイムコードを押せば指定の時間にジャンプ出来る。

#ではさっそく

##premiereでの作業
Premiereでは単にチャプターしたいところにマーカーを打つだけ
![001.PNG](https://qiita-image-store.s3.amazonaws.com/0/178061/bd4094c2-7fc4-2be9-73e5-045b389aaa02.png)
![002.PNG](https://qiita-image-store.s3.amazonaws.com/0/178061/1a0cbb2e-f181-bce0-7bc3-dab280d4cf83.png)
個人的な動画なのでサムネは隠してますｗ

マーカーの付ける作業が終わったら次にCSVデータでマーカー情報を書き出します。

書き出し方法は
Premiereの上部のナビゲーションバーから
ファイル→書き出し→マーカー

![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/178061/7b55d330-d76d-558e-4b68-f8aac24d6449.jpeg)

そしたらカンマ区切り値でcsvを書き出してください。

ここで一つ情報ですが、premiereのこのカンマ区切り実はタブ区切りです。
プログラムを作ってる時にカンマ区切りがうまく出来なくて、中を見たらタブ区切りになってました。
adobeに問い合わせると、認知しているバグで修正の予定は未定らしいです。
なのでプログラムではタブ区切りで扱います。

#プログラムの内容

さて本題のプログラムです。
何も難しいことはやっていません。
CSVを読み込んで、コンソールでテキストを書き出すだけです。

コード

```jsx

// 初期変数宣言
var myCsvFilePath;//CsvFilePath
var myCsvFile = new Object();//CSVファイル
var csv= [];//全データ

{//==============================function==============================
    
//csvのファイルパスを取得
function GetCsvFilePath (){
    myCsvFilePath = new File();
    var fileName = File.openDialog("Select csv file","");
    if ( GetFileName(fileName,2) == 'csv'){
        myCsvFilePath= new File(fileName); 
    }
    else{
        alert('csvファイルを選択して下さい。');
         myCsvFilePath = false;
    }
    return myCsvFilePath;
}; 

//myCsvFileを配列CSVに格納
function doit_csv_Obj(){
    var myText= '';
    if (myCsvFilePath.open("r")){
        while(!myCsvFilePath.eof){
            var tempLine = myCsvFilePath.readln();
            if(countStr(tempLine,"\"")%2 == 0) {
                myText = myText + tempLine+"\n";
            }
            else {
                myText = myText + tempLine+"\r";
                while(true){
                    tempLine = myCsvFilePath.readln();
                    if(countStr(tempLine,"\"")%2 == 1) {
                        myText = myText + tempLine+"\n";
                        break;
                    }
                    else {
                        myText = myText + tempLine+"\r";
                    }
                }
            }
        }
        myCsvFilePath.close();
    }
        var tmp = myText.replace(/"/g,"").split("\n");
        for( var i=0 ; i < tmp.length ; i ++ ){
            csv[i] = tmp[i].split('\t');
        };
}

}//==============================function==============================

{//==============================method==============================
    
function GetFileName(FilePath,Num){
    var returnStr="";
    var reg=/(.*)(?:\.([^.]+$))/;
    switch(Num){
        case 0 : returnStr = FilePath.name.match(reg)[0]; break; //groom.csv
        case 1 : returnStr = FilePath.name.match(reg)[1]; break; //groom
        case 2 : returnStr = FilePath.name.match(reg)[2]; break; //csv
    }
    return returnStr;
}

function countStr(str,seq) {
    return str.split(seq).length - 1;
}

}//==============================method==============================


GetCsvFilePath ();
doit_csv_Obj();


for ( var i = 1 ; i < csv.length-1 ; i ++ ){
$.writeln("・"+csv[i][0]+" "+csv[i][2].slice( 0, -3 ))    
}
$.writeln("END")

```

これを実行するとファイルオープンブラウザが立ち上がるので書き出したCSVを読み込んでください。
そしてextendscriptのコンソールに表示されます。

```console
・Test1 00:01:49
・Test2 00:05:01
・チャプター名 00:07:17
・テキスト 01:07:17
END
```

premiereで付けた名前とそのタイムコードが表示されるのでこれをyoutubeにコピペして終わり。

長尺の動画などでは活用できる場面が多いのではないでしょうか。
youtubeヘビーユーザーなら助かりますね！！

#最終的には
これをWEB上で扱えればいいなと思っています。