Synology(DS120j)でyoutube-dlを使えるようになるまで

#前提条件
ssh接続でSynologyにアクセスするすることができる。
エクスプローラーでSynologyのNASに入ることができる。
#pipインストールを使うまで
パッケージセンターからPython3をインストールして
<a href="https://www.miki-ie.com/synology/synology-pip-install/" target="_blank">SynologyにPython3とPipを導入</a>
こちらのサイトを参考にさせていただき
```コマンドライン
sudo curl -k https://bootstrap.pypa.io/get-pip.py | sudo python3
```
を実行。
私はコマンドライン操作を本格的にしたことがなく
![コメント 2020-04-10 225459.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/39bcbf7c-1035-da59-6ed4-d585f42d578c.png)
このパスワード入力画面で詰まってしまった。
文字を入力しても反応がないことと、想像していたadminグループのpasswordが間違っていたことが原因でした。
その後adminグループのpasswordを変更し、上の画像のときには文字を打っても反応しないというのを踏まえpasswordを入力
![wwコメント 2020-04-10 230053.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/2d088b0d-c7ce-4d5d-269e-0a5ff4bbfefa.png)
成功。pipが使えるようになった。
#pipでyoutube-dlをインストール
```コマンドライン
pip install youtube-dl
```
を打ってみると
-sh: pip: command not found
と返されてしまった。
色々調べるとpathが通っていないということだった(そりゃそうだ)
<a href="https://katurademo.com/NAS/path/path.html" target="_blank">mysql にログインできない</a>
こちらのサイトを参考にさせていただき
```コマンドライン
vi /etc/profile
```
を実行！上のサイトのような画面が出るが文字の付け足し方がわからなかった。
調べていくうちにこれはviコマンドと言うので編集するものらしい。
それではpathを追加しようとしたときNAS上のフォルダの絶対pathがわからないことに気づいた
なんとかエクスプローラーでpipをインストールしたフォルダを見つけることができた。
cdコマンドでその階層まで行きpwdコマンドでpathをゲット！！
そしてviコマンドでキーボードの矢印で行きたいところに行き
export PATH=$PATH:さっきコピーしたパス！
をかきこんで保存しようとしたとき
E45: `readonly` option is set (add ! to override)
と出てきた。エラーを検索すると読み取り専用にファイルのとき起こるエラーだそうです...対処は
:w !sudo tee %
と打ち込みパスワードを入力することでpathを通すことができました。
これで無事に"pip install youtube-dl"が動作しインストールすることができた！
pathもそのフォルダに通っていた(すみませんわからないです)ので
"youtube-dl URL"を試しに打ってみると動作した！

#ffmpegで大づまり
自分は引数で動画のフォーマットを"-f bestvideo[ext=mp4]+bestaudio[ext=m4a]"を使用してDLしていたのだがエラーが起こるようになってしまった。
ERROR: Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
![5コメント 2020-04-11 000640.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/dc6a67b0-f7b1-a6d5-3f3a-de53fc47e6bd.png)
エラーを検索するとffmpegが最新版ではいなからという結論に至った。
そこで私は自分自身でffmpegをいれていない事に気がついた。
そこでなんの(どこの)ffmpegが動いているか確かめるため”which ffmpeg” を実行すると最初から通っているパスにどうやらffmpegがインストールされていたのだ！
試しにwin10のffmpeg最新版で動画を同じフォーマット("-f bestvideo[ext=mp4]+bestaudio[ext=m4a]")を使ってDLしてみるとしっかりとDLできたためffmpegが原因であることがわかった。
しかし昨日はじめてlinux?を初めて触ったためlinuxのffmpegのインストール方法がわからない.....
調べていくとSynologyのコミュニティパッケージにffmpegの最新版(ほぼ)がアップされていることに気がついた！
![1コメント 2020-04-10 233947.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/819ad271-c95f-ec26-cc7f-a28b33721593.png)
![2コメント 2020-04-10 234047.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/6adc0d5d-0eeb-978f-4a71-a12f00ab51d6.png)
-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^
名前:SynoCommunity(なんでもいい？)
場所:<a href="http://packages.synocommunity.com/" target="_blank">http://packages.synocommunity.com/</a>
-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^
と打ち込み左のコミュニティをクリックしffmpegを検索しインストール！！
![6コメント 2020-04-11 001056.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/77a1e1bb-c3d9-8e12-981b-343e1ee47450.png)

しかしインストールした後にwhich ffmpegを実行しても場所はかわっていない...pathが通っていないからだ...
しかし先ほどインストールしたffmpegがインストールされた場所が一向にわからない.........
調べていくとfindコマンドというものがありどこにffmpegと書かれた場所があるか探せることを知りました！
cd /
find ./ -name ffmpeg
で一覧を出すことができた！！
先程のffmpegをアンインストールした場合とそれを比較すると
![3コメント 2020-04-10 235145.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/f94b5a3a-83a0-0648-77c2-6f9a9ee9e52a.png)
ここにffmpegがありそう！！ということで一番上の"/volume1/@appstore"をpathに追加！
vi /etc/profile
で書き足すときに優先順位に気をつけなければ行けないのには気づくことができました！！
![4コメント 2020-04-10 235647.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617102/94f9f9ec-4754-84c0-8e90-d2ba8f476362.png)
矢印のところにpathを追加！(/volume1/@appstore/ffmpeg/binのようにbinを入れないといけません！(windowsのときにffmpegインストールしたことがあってよかった...))
そしてエラーが起こっていた動画もしっかりとDLすることができました！！！
#筆者から
自分はこの記事の部分で6時間ほど消費してしまいました...全く同じ境遇の方にはこのような無駄(？)な時間を過ごしてほしくないと思いこの記事を作成させていただきました。初めての記事なので一行一行がうるさい口調で書いてしまいすみませんでしたm(_ _)m。
次回からは気をつけます...
省略してしまった所も多いので質問していただけたらできる限り手伝いたいと思ってますのでよろしくおねがいします！