1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
#!/usr/bin/perl
# YouTube Viewer 3.10.6 - configuration file
use utf8;
our $CONFIG = {
audio_quality => "best",
auto_captions => 0,
autolike_watched => 0,
autoplay_mode => 0,
bypass_age_gate_native => 0,
bypass_age_gate_with_proxy => 0,
cache_dir => "$ENV{HOME}/.cache/youtube-viewer",
colors => 1,
comments_order => "time",
confirm => 0,
convert_cmd => "ffmpeg -i *IN* *OUT*",
convert_to => undef,
cookie_file => undef,
copy_caption => 0,
custom_channel_layout_format => [
{ align => "right", color => "bold", text => "*NO*.", width => 3 },
{ align => "left", color => "bold blue", text => "*TITLE*", width => "55%" },
{ align => "right", color => "yellow", text => "*AGE_SHORT*", width => 3 },
{
align => "right",
color => "magenta",
text => "*VIDEOS* videos",
width => 14,
},
{
align => "right",
color => "green",
text => "*SUBS_SHORT* subs",
width => 10,
},
],
custom_layout_format => "*NO*. *TITLE* (*AUTHOR*) (*RATING*) [*TIME*]\\n",
custom_playlist_layout_format => [
{ align => "right", color => "bold", text => "*NO*.", width => 3 },
{ align => "left", color => "bold blue", text => "*TITLE*", width => "55%" },
{ align => "right", color => "green", text => "*ITEMS* videos", width => 14 },
{ align => "left", color => "magenta", text => "*AUTHOR*", width => "20%" },
],
dash_segmented => 1,
dash_support => 1,
debug => 0,
download_and_play => 0,
download_with_wget => 0,
download_with_ytdl => 1,
downloads_dir => ".",
env_proxy => 1,
fat32safe => 0,
ffmpeg_cmd => "/usr/bin/ffmpeg",
force_fallback => 0,
fullscreen => 0,
get_captions => 1,
get_term_width => 1,
hfr => 1,
highlight_color => "bold",
highlight_watched => 1,
history => 0,
history_file => "$ENV{HOME}/.config/youtube-viewer/history.txt",
history_limit => 10000,
hl => "en_US",
http_proxy => undef,
ignore_av1 => 0,
ignored_projections => [],
interactive => 1,
keep_original_video => 0,
maxResults => 10,
merge_into_mkv => 1,
merge_into_mkv_args => "-loglevel warning -c:s srt -c:v copy -c:a copy -disposition:s forced",
merge_with_captions => 1,
order => undef,
page => 1,
prefer_av1 => 0,
prefer_m4a => 0,
prefer_mp4 => 0,
publishedAfter => undef,
publishedBefore => undef,
regionCode => undef,
remove_played_file => 0,
resolution => 1080,
safeSearch => undef,
saved_videos_file => "$ENV{HOME}/.config/youtube-viewer/playlists/saved_videos.txt",
show_video_info => 1,
skip_if_exists => 1,
skip_watched => 0,
srt_languages => ["en", "es"],
subscriptions_order => "relevance",
thousand_separator => ",",
timeout => undef,
user_agent => undef,
video_filename_format => "*FTITLE* - *ID*.*FORMAT*",
video_player_selected => "mpv",
video_players => {
mplayer => {
arg => "-prefer-ipv4 -really-quiet -title *TITLE*",
audio => "-audiofile *AUDIO*",
cmd => "/usr/bin/mplayer",
fs => "-fs",
novideo => "-novideo",
srt => "-sub *SUB*",
},
mpv => {
arg => "--gpu-context=wayland --force-media-title=*TITLE* --title=*TITLE* --no-ytdl",
audio => "--audio-file=*AUDIO*",
cmd => "mpv",
fs => "--fullscreen",
novideo => "--no-video",
srt => "--sub-file=*SUB*",
},
vlc => {
arg => "--quiet --play-and-exit --no-video-title-show --input-title-format *TITLE*",
audio => "--input-slave *AUDIO*",
cmd => "vlc",
fs => "--fullscreen",
novideo => "--intf dummy --novideo",
srt => "--sub-file *SUB*",
},
},
videoCaption => undef,
videoDefinition => undef,
videoDimension => undef,
videoDuration => undef,
videoLicense => undef,
videoSyndicated => undef,
watch_history => 1,
watch_history_file => "$ENV{HOME}/.config/youtube-viewer/watched.txt",
wget_cmd => "/usr/bin/wget",
youtube_users_file => "$ENV{HOME}/.config/youtube-viewer/youtube_users.txt",
youtube_video_url => "https://www.youtube.com/watch?v=%s",
ytdl => 1,
ytdl_cmd => "/usr/bin/yt-dlp",
}
|