2022-12-26 2022-12-26 Android側からの設定。
VPN接続のみでaddlist.txtを更新できるようにしました。
ファイルマネージャー+のリモートを使ってVPN経由でのアクセスをしています。
お気に入りにaddlist.txtを追加も可能。
2022-12-26 12:16:54 原因不明でダウンロードされない状況対応
xxxxx.mp4 has already been downloaded
なるほど。既に同じ名前のでファイルがあるためダウンロードできなかった。
こちらのURLのオプションを参考に出力ファイル名を追加しました。
――――引用ーーーーーー
-o, –output [TYPES:]TEMPLATE
ファイル名を指定する。TYPESの使い方は–pathsと一緒。使用できる変数は後述のOUTPUT TEMPLATEを参照。
ーーーーーーーーーーーー
-o “/path/%(title)s_%(upload_date>%Y-%m-%d)s_%(duration>%H-%M-%S)s_%(epoch-3600>%H-%M-%S)s_%(id)s.%(ext)s”
とはいえ、同じ日の再生時間まで同じだったらやっぱりかぶってしまうのかも?
とりあえずこれで様子を見ることにします。
2022-07-12(TUE)Docker名前がを指定するとエラーで起動しないのを対応しないと
docker: Error response from daemon: Conflict. The container name "/podsync_container" is already in use by container "多分以前使ったコンテナ名". You have to remove (or rename) that container to be able to reuse that name.
コンテナ名を指定して削除してから起動すれば良いと思われます。参考
2022-07-11(MON)Ubuntu16にインストール
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
yt-dlp –version
f’You are using an unsupported version of Python. Only Python versions 3.6 and above are supported by yt-dlp’ # noqa: F541
一々バージョンが古いと言うのは不便なのでUbuntu自体のバージョンを上げるべきなんだけどね。
python -V
Python 2.7.12
ls /usr/bin/ | grep python
と、いや待てよ。ここまでやっておいてだけど、Dockerを使えばいいのではないか??
PodsyncのDockerでは既にyt-dlpとかffmpegとかを使っているのだから。
docker ps
ghcr.io/fqx/podsync-with-yt-dlp:latest
docker container exec -it コンテナID ash
bashではなくash
youtube-dl –version
2022.06.29
という事でyt-dlpではなくyoutube-dl として使えるようになっているようです。実態はyt-dlpでしょう。
このコンテナの中で実行すればいいのではないか?
youtube-dl https://xxxxxxxxxxxxxxx
で、ダウンロード可能でした。
yt-dlp.conf
Firefoxのクッキーの設定を抜きました。まあそうだよね。
-o "/app/data/video_downloadHelper/"
-U
-N 2
--embed-thumbnail
--no-mtime
--console-title
-a ../dlurl.txt
エラー
Postprocessing: file:/Invalid argument
とりあえず、
–embed-thumbnail
を抜いてみました。要はマージする所でエラーになっているようなので。
違ったみたい。ではこれか?
-U
-N 2
でもない。要はオプションのファイルの作り方が間違ってるな。とりあえず保留。
youtube-dl + URL直で指定すれば取りあえずダウンロードできるんだから。
後はDLのパスを指定して、定期的にコンテナ内を使って実行する。
DLリストは適宜追加するように設定しよう。
――――それとは別に、
分かった。文字コード、改行コードが違っていた。
yt-dlp.conf
をUTF-8
LF
にして保存。
win10から持ってきて再利用してたから間違ってしまった。
-o "/app/data/video_downloadHelper/%(title)s.%(ext)s"
-U
-N 2
--embed-thumbnail
--no-mtime
--console-title
-a ../dlurl.txt
正常に完了しました。
docker exec イメージ名 ash /docker内path/youtube-dlが走るスクリプト.sh
Cronで定期的に走らせるように設定。
スクリプトの内容
#!/bin/bash
echo カレントディレクトリに移動
cd `dirname $0`
sleep 3
FILE=../dlurl.txt
if [ ! -s $FILE ]; then
#空の場合の処理
echo "$FILE は0byte、処理なし"
else
# 0byte 以上の処理
ls -l $FILE
echo yt-dpl_youtube-dl実行
youtube-dl
fi
sleep 3
echo yt-dpl完了
sleep 3
echo DL終わったのでdlurl.txt削除
rm ../dlurl.txt
sleep 3
echo addedlist.txtをdlurl.txtにリネーム
mv ../adddlist.txt ../dlurl.txt
sleep 3
echo 空のadddlist.txtを作成
touch ../adddlist.txt
sleep 3
echo adddlist.txtのアクセス権を設定
chmod アクセス権 ../adddlist.txt
sleep 3
echo 完了
2022-06-27(MON)テストダウンロードなど
参考はこちらのGIGAZINEのURLです。
Win環境?Linux環境?
とりあえずWin環境でも使うかもしれないので。
yt-dlp.exe を使ってテストしています。
パスは変更しました。userフォルダだとファイルがいっぱいになってしまうので。yt-dlpフォルダにして、batでパスを変更します。
ダウンロード中は.part になります。ファイル名が。
スクリプトを後で作るとして、起動時にアップデート。
yt-dlp -U
オプションを一応付けておいた方がログイン状態でダウンロード可能。
–cookies-from-browser
yt-dlp –cookies-from-browser firefox URL
ダウンロードファイルリストを使ってダウンロード
yt-dlp -a [リストのファイル名]
ダウンロードパスの指定も必要と思われます。後に作るスクリプトで
yt-dlp -o “Path\%(title)s.%(ext)s”
進行状況を表示。
–console-title
yt-dlp.conf ファイルを使う。
-o "Path\%(title)s.%(ext)s"
-U
-N 2
--embed-thumbnail
--cookies-from-browser firefox
--no-mtime
--console-title
-a ../dlurl.txt
batファイルは以下
yt.dlp.bat
net use x: \\192.168.x.xxx\data
cd /d %~dp0
yt-dlp
pause
net useは外部HDDに保存しているため。Pathが無かったら再接続。
VPN環境での実行を想定するのでIPはローカルでOK.
フォルダ構成
\yt-dlp/win/各ファイル
/yt/dlp/dlurl.txt
複数PCから利用、winとLinuxで共通のdl.txtを使いたいため、dlurl.txtは1つ上のディレクトリとしています。
実行!
うまくDLできている。しかし、再度実行したら既にダウンロードが終わったやつは上書きされるのか?
ダウンロードが終わったリストを削除しないといけないのではないか?
f248.webm
f251.webm
とサムネイルがダウンロードされる。
をマージして、.mkvになる。
webmはDeleteされる。
更にサムネイルをくっつける。
と言う処理を行っていました。
なかなかに手間がかかっているな。
・・・・時間かかりすぎているな。とりあえず中断。強制的に落とします。