kiến thức Tổng hợp những addon chất cho Firefox / Chromium

@toi la gay :sosad: thớt cho hỏi, khi xem youtube 8k hoặc 4k bằng mpv nó chạy độ phân giải cao nhất. Vì máy yếu, không chạy nổi 8k nên muốn chọn độ phân giải thấp hơn cho mpv nó chạy thì làm thế nào.
 
@toi la gay :sosad: thớt cho hỏi, khi xem youtube 8k hoặc 4k bằng mpv nó chạy độ phân giải cao nhất. Vì máy yếu, không chạy nổi 8k nên muốn chọn độ phân giải thấp hơn cho mpv nó chạy thì làm thế nào.

Bạn đã cài uosc cho MPV chưa ? Nếu chưa thì nên cài vì nó tiện cực kỳ cho người mới, còn người đã dùng MPV tỉ năm như mình thì không cần tới vì quen phím tắt + plugin vào rồi nên bạn cài thử.

Thôi mình dùng post này làm thành một bài cài uosc hoàn chỉnh cho tiện, sau này có bạn khác hỏi cứ đưa link là chuẩn 100% không bao giờ nhầm lẫn:
  • Tạo folder portable_config trong cùng một thư mục với mpv.exe nếu chưa tạo (Xem: Cấu trúc folder chuẩn để dễ dàng làm theo hướng dẫn trong thread)
  • Tạo folder tên scripts và tên script-opts trong thư mục portable_config
  • Tải uosc.zip tại đây vào đúng folder portable_config: Releases · tomasklaen/uosc (https://github.com/tomasklaen/uosc/releases)
  • Giải nén Extract Here (sao cho folder scripts trong file nén chèn vào folder scripts trong thư mục portable_config và thư mục fonts nằm chung với thư mục scripts). Chi tiết xem ảnh sau:
  • 1695213956640.png
  • (Không cần thiết lắm) Tải file config của uosc tại đây vào folder script-opts: https://raw.githubusercontent.com/tomasklaen/uosc/main/src/uosc.conf
  • (CỰC KỲ QUAN TRỌNG) Tạo một file tên mpv.conf (nếu chưa từng tạo) trong thư mục portable_config rồi copy toàn bộ đoạn dưới này vào rồi Save:
Code:
#uosc
# required so that the 2 UIs don't fight each other
osc=no
# uosc provides its own seeking/volume indicators, so you also don't need this
osd-bar=no
# uosc will draw its own window controls if you disable window border
border=no


Mẹo cho uosc:

Sau đó mỗi khi muốn hạ độ phân giải bạn ấn vào nút Quality rồi hạ thôi, dùng như dùng Youtube + nhiều tính năng hơn, sâu cày tính năng đổi chất lượng: https://gfycat.com/JitterySatisfiedBlackfly
Kết quả và hướng dẫn:

195072935-44d591d9-00bb-4a55-8795-9cf81f65d397.png
 
Last edited:
Sao 2 cái xem + chuyển chapter này không dùng được trong uosc nhỉ các bác

https://github.com/Argon-/mpv-config/blob/master/scripts/betterchapters.lua


Đáng ra phải trông thế này:
yMX8nBs.png

Thì nó chỉ hiện ra mỗi dòng bên phải còn danh sách bên trái thì không thấy đâu. Em thử tháo cái uosc ra thì lại chạy được
bWcwFS0.gif

Nhìn chung đó là nhược điểm của uosc là thi thoảng có vài script hy hữu sẽ không hoạt động, mình kiểm tra code cái plugin trên thì nó dùng lệnh osc-playlist, nghĩa là phải dùng tới osc (giao diện mặc định) mà khi dùng uosc thì phải tắt osc đi rồi nên tính năng osc-playlist tịt ngòi :D

Theo mình nghĩ là có thể sửa được, script playlistmanager này chạy trên uosc vì nó không dùng osc-playlist: https://github.com/jonniek/mpv-playlistmanager/blob/master/playlistmanager.lua

Cơ mà tính năng chapter list có sẵn của uosc cũng ổn áp mà, hay có vấn đề gì mà trong trường hợp này bạn cần dùng plugin thay thế cho ?
 
Last edited:
Nhìn chung đó là nhược điểm của uosc là thi thoảng có vài script hy hữu sẽ không hoạt động, mình kiểm tra code cái plugin trên thì nó dùng lệnh osc-playlist, nghĩa là phải dùng tới osc (giao diện mặc định) mà khi dùng uosc thì phải tắt osc đi rồi nên tính năng osc-playlist tịt ngòi :D

Theo mình nghĩ là có thể sửa được, script playlistmanager này chạy trên uosc vì nó không dùng osc-playlist: https://github.com/jonniek/mpv-playlistmanager/blob/master/playlistmanager.lua

Cơ mà tính năng chapter list có sẵn của uosc cũng ổn áp mà, hay có vấn đề gì mà trong trường hợp này bạn cần dùng plugin thay thế cho ?
Do em định mò xem có cách nào tương tác với chapter theo kiểu chỉ bấm phím giống cái script playlistmanager. Xem còm bác mới nhớ là uosc cũng có tính năng đấy, thêm 1 dòng vào là ngon choét
A2ReTtI.png

Mà cái đấy hình như không phải do osc bác ợ. Em tháo cái uosc ra rồi để osc=no nó vẫn chạy tốt
 
Do em định mò xem có cách nào tương tác với chapter theo kiểu chỉ bấm phím giống cái script playlistmanager. Xem còm bác mới nhớ là uosc cũng có tính năng đấy, thêm 1 dòng vào là ngon choét
A2ReTtI.png

Mà cái đấy hình như không phải do osc bác ợ. Em tháo cái uosc ra rồi để osc=no nó vẫn chạy tốt

À, để hiện list chapter ấn phím tắt c, để hiện list playlist ấn phím tắt p theo mặc định của uosc, cũng khá tiện. Cái hay của uosc là nó luôn để mọi thứ ra trước mắt mình, phím tắt cũng vậy nên không cần ghi nhớ trong đầu thì thoảng tra lại bằng cách mở Menu hình Hamburger rồi lướt qua.

 
Last edited:
Mới: Cách tải video hàng loạt bằng yt-dlp với tiến độ tải bởi bạn @nhoxbuondkny :love:

Tiếp tục series về addon External Application, lần này là cách tải video từ rất nhiều trang với yt-dlp, bài này cực kỳ đơn giản còn dễ hơn nhiều bài về song ca MPV với Firefox, nhưng sau một thời gian quan sát mình thấy nhiều bạn không chỉ có nhu cầu xem online trên MPV, mà còn có nhu cầu tải nữa và vào những khi mạng bị đứt cáp thì tải về xem nhiều khi là lựa chọn tốt hơn vì xem online thi thoảng bị đứng hình do nghẽn mạng thì cũng ảnh hưởng đến trải nghiệm nên quyết định bổ sung thêm bài này:

Chú ý: Nếu đã có MPV rồi thì nên để file yt-dlp (exe cho Windows, không exe cho Mac và Linux) vào cùng folder với MPV, không thì để đâu cũng được nhưng tốt nhất nên để tên folder càng ngắn và không có khoảng trống, không có ký tự đặc biệt càng tốt, kiểu D:\ytdl là ok, vì dù gì đi chăng nữa làm việc với folder không có khoảng trống LUÔN dễ dàng hơn là có)
  • Ấn Ctrl + Shift + A vào phần quản lý addon, tìm External Application rồi ấn vào ... chọn Options để mở ra trang quản lý:
  • Rồi điền vào như hình sau, Name đặt tùy ý, phần Executable Name D:\mpv\yt-dlp.exe, phần Arguments này có đoạn -o là nơi muốn lưu video về [HREF] -o D:\mpv\downloads\%(title)s.%(ext)s sửa tùy ý theo ý thích:
  • Mặc định yt-dlp sẽ tải về chất lượng cao nhất nghĩa là 4K hay 8K để xem offline thì cực ngon, muốn hạ xuống thì thêm --format bestvideo[height<=?720]+bestaudio , cứ hạ tùy ý độ phân giải từ 720 thành ví dụ như 480, 320, 500, 600, 1080 tùy ý, cái này không quan trọng theo chuẩn mà chỉ là theo chiều cao của video.
  • Sau đó thích chọn icon cho nó thế nào thì tùy, rồi chọn Add Apllication:

Và thế là xong, giờ vào Youtube, cứ chọn đại video rồi chuột phải vào link chọn YTDL để tải về, thậm chí có thể tải nguyên một playlist bằng cách tương tự cứ kiếm playlist, chuột phải -> YTDL hay mở playlist -> ấn vào nút YTDL.

Tất cả đã được bê lên #1 cho tiện tìm kiếm sau này, sẽ còn nhiều bài nữa về addon này nhóe.
 
Last edited:
Tiếp tục series về addon External Application, lần này là cách tải video từ rất nhiều trang với yt-dlp, bài này cực kỳ đơn giản còn dễ hơn nhiều bài về song ca MPV với Firefox, nhưng sau một thời gian quan sát mình thấy nhiều bạn không chỉ có nhu cầu xem online trên MPV, mà còn có nhu cầu tải nữa và vào những khi mạng bị đứt cáp thì tải về xem nhiều khi là lựa chọn tốt hơn vì xem online thi thoảng bị đứng hình do nghẽn mạng thì cũng ảnh hưởng đến trải nghiệm nên quyết định bổ sung thêm bài này:

- (NẾU CHƯA CÓ) Tải yt-dlp từ: https://github.com/yt-dlp/yt-dlp
Chú ý: Nếu đã có MPV rồi thì nên để file yt-dlp (exe cho Windows, không exe cho Mac và Linux) vào cùng folder với MPV, không thì để đâu cũng được nhưng tốt nhất nên để tên folder càng ngắn và không có khoảng trống, không có ký tự đặc biệt càng tốt, kiểu D:\ytdl là ok, vì dù gì đi chăng nữa làm việc với folder không có khoảng trống LUÔN dễ dàng hơn là có)
  • Ấn Ctrl + Shift + A vào phần quản lý addon, tìm External Application rồi ấn vào ... chọn Options để mở ra trang quản lý:
  • Rồi điền vào như hình sau, Name đặt tùy ý, phần Executable Name D:\mpv\yt-dlp.exe, phần Arguments này có đoạn -o là nơi muốn lưu video về [HREF] -o D:\mpv\downloads\%(title)s.%(ext)s sửa tùy ý theo ý thích:
  • Mặc định yt-dlp sẽ tải về chất lượng cao nhất nghĩa là 4K hay 8K để xem offline thì cực ngon, muốn hạ xuống thì thêm --format bestvideo[height<=?720]+bestaudio , cứ hạ tùy ý độ phân giải từ 720 thành ví dụ như 480, 320, 500, 600, 1080 tùy ý, cái này không quan trọng theo chuẩn mà chỉ là theo chiều cao của video.
  • Sau đó thích chọn icon cho nó thế nào thì tùy, rồi chọn Add Apllication:

Và thế là xong, giờ vào Youtube, cứ chọn đại video rồi chuột phải vào link chọn YTDL để tải về, thậm chí có thể tải nguyên một playlist bằng cách tương tự cứ kiếm playlist, chuột phải -> YTDL hay mở playlist -> ấn vào nút YTDL.

Tất cả đã được bê lên #1 cho tiện tìm kiếm sau này, sẽ còn nhiều bài nữa về addon này nhóe.
Keyword là là gì thế bác, e tìm mà k thấy có cái nào hd cái addon này
 
Keyword là là gì thế bác, e tìm mà k thấy có cái nào hd cái addon này

Ở cuối cùng #1, cơ mà bạn cài lâu rồi mà mới sinh ra dùng MPV với Firefox, mà sắp tới chắc phải nâng tier addon External Application lên tier 3 vì nó hay chẳng kém uBlock hay UnloadTab về tính hữu dụng và đột phá :D
 

toi la gay :sosad:

sao t dùng bản ff por ông gửi cứ thỉnh thoảng nó lại nhảy local data sang bên Appdata bên C nhỉ? Reset hay restart thì nó lại nhảy về ?

Chưa hình dung ra, nhưng mà cứ kiểm tra about:support mà thấy profile vẫn ở PortableData thì không sao cả, với lại dù là Portable thì Firefox nó vẫn tạo ra vài folder rỗng ở AppData, không ảnh hưởng gì cả.

 
Bạn đã cài uosc cho MPV chưa ? Nếu chưa thì nên cài vì nó tiện cực kỳ cho người mới, còn người đã dùng MPV tỉ năm như mình thì không cần tới vì quen phím tắt + plugin vào rồi nên bạn cài thử.

Thôi mình dùng post này làm thành một bài cài uosc hoàn chỉnh cho tiện, sau này có bạn khác hỏi cứ đưa link là chuẩn 100% không bao giờ nhầm lẫn:
Code:
###########
# General #
###########

# Custom config
#ontop                                   # video player always on top
#no-taskbar-progress
osd-on-seek=no
osd-font-size=24
#osd-duration=100
keep-open=yes
force-window=immediate
no-focus-on-open
#autofit-larger=50%x50%
#autofit-smaller=50%x50%
geometry=50%x50%
#no-input-default-bindings

#########
# Cache #
#########

cache-pause
cache=yes
#cache-default=80000                     # size in KB (80MB) -- Increase if you have buffering issues
#cache-backbuffer=80000                  # size in KB
#cache-initial=0                         # start playback when your cache is filled up with x kB
cache-secs=240                           # how many seconds of audio/video to prefetch if the cache is active
demuxer-thread=yes
#demuxer-max-bytes=50MiB
demuxer-max-back-bytes=10MiB
demuxer-readahead-secs=240
#network-timeout=1000

###################################
# Protocol Specific Configuration #
###################################

stream-lavf-o-append=reconnect_on_http_error=4xx,5xx
stream-lavf-o-append=reconnect_delay_max=30
stream-lavf-o-append=reconnect_streamed=yes
stream-lavf-o-append=reconnect_on_network_error=yes

#uosc
# required so that the 2 UIs don't fight each other
osc=no
# uosc provides its own seeking/volume indicators, so you also don't need this
osd-bar=no
# uosc will draw its own window controls if you disable window border
border=no

- Xong

Sau đó mỗi khi muốn hạ độ phân giải bạn ấn vào nút Quality rồi hạ thôi, dùng như dùng Youtube + nhiều tính năng hơn, sâu cày tính năng đổi chất lượng: https://gfycat.com/JitterySatisfiedBlackfly
Kết quả và hướng dẫn: https://user-images.githubuserconte...006-bfa72bcc-89d2-4dc7-b8dc-f3c13273910c.webm

195072935-44d591d9-00bb-4a55-8795-9cf81f65d397.png
Làm sao để chọn độ phân giải mặc định 1080p vậy bác?
 
Mình đóng góp 1 tí về MPV cho thím nào không dùng skin uosc (mình đang dùng skin Modernx đã sửa đổi theo ý của mình) mà cài Mpv-Playlistmanager và SimpleHistory muốn add thêm icon ngoài player để nhấp thay vì xài phím tắt.

Để xài chức năng của 2 thằng này thì các thím phải cài vào mpv trước đó nhé.
SimpleHistory https://github.com/Eisa01/mpv-scripts
Mpv-Playlistmanager https://github.com/jonniek/mpv-playlistmanager

Sau đó vào file lua của skin ở folder scripts để sửa. Ở đây mình xài skin Modernx nên là sẽ sửa file modernx.lua

Nút History
Code:
-- Hình dáng của icon History
local osc_icons = {
    history = "\239\141\178",
}


-- Vị trí hiển thị của icon History trên player
    -- History
    lo = add_layout("history")
    lo.geometry = {x = osc_geo.w - 125, y = refY - 15, an = 6, w = 12, h = 12}
    lo.style = osc_styles.smallButtons1


-- Tạo và cấp tính năng cho nút History
    -- history button
    ne = new_element("history", "button")
    ne.content = osc_icons.history

    local is_list_open = false

    -- tính năng khi click chuột trái
    ne.eventresponder["mbtn_left_up"] =
        function ()
            if not is_list_open then
            mp.commandv("script-binding", "SimpleHistory/open-list")
            is_list_open = true
            else
            mp.commandv("script-binding", "SimpleHistory/list-close")
            is_list_open = false
            end
        end

Nút Playlist
Code:
-- Hình dáng của icon Playlist
local osc_icons = {
    playlist = "\239\134\180",
}


-- Vị trí hiển thị của icon Playlist trên player
    -- Playlist
    lo = add_layout("playlist")
    lo.geometry = {x = osc_geo.w - 50, y = refY - 15, an = 6, w = 12, h = 12}
    lo.style = osc_styles.smallButtons1


-- Tạo và cấp tính năng cho nút Playlist
    -- playlist button
    ne = new_element("playlist", "button")
 
    ne.content = osc_icons.playlist

    -- tính năng khi click chuột trái
    ne.eventresponder["mbtn_left_up"] =
    function () mp.commandv("script-binding", "playlistmanager/showplaylist") end

Demo: https://streamable.com/zsdovp

Tùy theo skin của các thím đang dùng mà hình dáng và vị trí icon sẽ khác nên có thể sửa giá trị 2 thằng này theo sở thích mỗi người. Quan trọng là để ý tới cái tính năng khi click chuột để chạy là được :)

Mình có đính kèm full config skin của mình cho bạn nào muốn tham khảo rõ thêm
 

Attachments

  • portable_config.zip
    1.2 MB · Views: 38
Last edited:
Mình đóng góp 1 tí về MPV cho thím nào không dùng skin uosc (mình đang dùng skin Modernx đã sửa đổi theo ý của mình) mà cài Mpv-Playlistmanager và SimpleHistory muốn add thêm icon ngoài player để nhấp thay vì xài phím tắt.

Để xài chức năng của 2 thằng này thì các thím phải cài vào mpv trước đó nhé.
SimpleHistory https://github.com/Eisa01/mpv-scripts
Mpv-Playlistmanager https://github.com/jonniek/mpv-playlistmanager

Nút History
Code:
-- Hình dáng của icon History
local osc_icons = {
    history = "\239\141\178",
}


-- Vị trí hiển thị của icon History trên player
    -- History
    lo = add_layout("history")
    lo.geometry = {x = osc_geo.w - 125, y = refY - 15, an = 6, w = 12, h = 12}
    lo.style = osc_styles.smallButtons1


-- Tạo và cấp tính năng cho nút History
    -- history button
    ne = new_element("history", "button")
    ne.content = osc_icons.history

    local is_list_open = false

    -- tính năng khi click chuột trái
    ne.eventresponder["mbtn_left_up"] =
        function ()
            if not is_list_open then
            mp.commandv("script-binding", "SimpleHistory/open-list")
            is_list_open = true
            else
            mp.commandv("script-binding", "SimpleHistory/list-close")
            is_list_open = false
            end
        end

Nút Playlist
Code:
-- Hình dáng của icon Playlist
local osc_icons = {
    playlist = "\239\134\180",
}


-- Vị trí hiển thị của icon Playlist trên player
    -- Playlist
    lo = add_layout("playlist")
    lo.geometry = {x = osc_geo.w - 50, y = refY - 15, an = 6, w = 12, h = 12}
    lo.style = osc_styles.smallButtons1


-- Tạo và cấp tính năng cho nút Playlist
    -- playlist button
    ne = new_element("playlist", "button")
  
    ne.content = osc_icons.playlist

    -- tính năng khi click chuột trái
    ne.eventresponder["mbtn_left_up"] =
    function () mp.commandv("script-binding", "playlistmanager/showplaylist") end

Demo: https://streamable.com/zsdovp

Tùy theo skin của các thím đang dùng mà hình dáng và vị trí icon sẽ khác nên có thể sửa giá trị 2 thằng này theo sở thích mỗi người. Quan trọng là để ý tới cái tính năng khi click chuột để chạy là được :)
cop vao file nao the thim?
 
Back
Top