Live stream Video đang Live trên Youtube như thế nào? Đây là câu hỏi mình thấy nhiều người đang thắc mắc mà vẫn không mấy ai trả lời. Bài viết hôm nay mình sẽ tập hợp những phương pháp tối ưu nhất để giúp việc live stream Video đang phát trực tiếp trên Youtube được dễ dàng và hiệu quả nhất.
Đầu tiên thì việc live stream Video trên Youtube mình có thể điểm qua một số phương pháp:
- Getlink và đưa vào ffmpeg và live stream.
- Quay Video màn hình bằng ffmpeg và live stream.
- Kết hợp giữa OBS Studio và ffmpeg để live stream.
Chắc hẳn những ai tìm hiểu vấn đề này thì cũng đã biết cách live stream trên Youtube bằng ffmpeg rồi phải không nào? Và vấn đề làm sao để live stream video đang live?
Vấn đề này chỉ nằm ở việc làm sao chúng ta có được link live của Video đang live kia thì mọi việc được giải quyết đơn giản. Có được link rồi thì chỉ việc đưa vào code live stream và thoải mái tùy biến như thế nào thì đó là việc của các bạn.
Hiện tại có rất nhiều trang hỗ trợ live stream từ rất nhiều nguồn trên Internet. Hỗ trợ live đa luồng cũng có và việc live stream Video đang phát trực tiếp cũng được thực hiện một cách dễ dàng. Bài viết này dành cho những ai muốn sử dụng nguồn Video đầu vào và tùy biến qua những dòng code và sau đó live stream.
Mình cũng đã sử dụng nhiều trình getlink để lấy link Video và live stream nhưng những cách dưới đây mình thấy hiệu quả nhất. Và chần chừ gì nữa, chúng ta hãy bắt đầu nào.
Getlink và live stream bằng ffmpeg
Getlink bằng Youtube-dl live stream bằng ffmpeg
Password: chiaseall.com
Đầu tiên Download bản mới nhất của youtbe-dl tại: https://youtube-dl.org/. Youtube-dl updates liên tục nên có thể nói đây là một sự lựa chọn tối ưu nhất đối với việc getlink cũng như Download Video trên Youtube.
Đưa chương trình vào một thư mục bất kỳ trên máy tính. Tại cửa sổ Explore này mở cmd lên bằng cách tại đường dẫn gõ cmd.
Bây giờ các bạn sử dụng đoạn code sau để lấy thông tin của Video bên trên.
youtube-dl --list-formats link_video_ytb
Bạn copy và bỏ vào cmd.
Lúc này thông tin các định dạng và chất lượng Video được liệt kê ra, bạn chọn 1 trong số đó để getlink.
Bên trên các bạn sẽ thấy nó liệt kê ra những chất lượng Video có thể getlink với số thứ tự từ 91-94. Video này chất lượng cao nhất chỉ là 854×480 nên nó sẽ dừng lại ở đó. Nếu Video bạn chất lượng cao hơn thì nó sẽ được liệt kê tiếp. Bây giờ mình sẽ getlink Video có ID 94 bằng câu lệnh sau:
youtube-dl -f 94 -g https://www.youtube.com/watch?v=DvhRXCFkT9w
Các bạn đã thấy link Video đã được get và đây là link Video live stream nên sẽ có đuôi .m3u8. Việc còn lại bây giờ là các bạn hãy copy link này và đưa vào code live stream của mình và thử nghiệm thôi nào.
Các bạn lấy link đã get được bằng cách bôi đen link và nhấn Ctrl+C để Copy.
Sau đó đưa vào đoạn code ffmpeg xem thế nào nhé. Dưới đây chỉ là code demo và cũng đã cũ, các bạn có thể tham khảo. Thay đoạn link vào “link_get”.
ffmpeg -y -i "link_get" -i "fr.png" -filter_complex “[0:v]setpts=PTS/1.15,scale= 700:440,pad=716:456:8:8:color=white [v1]; movie=nen.mp4:loop=999,setpts=N/(FRAME_RATE*TB) [v2]; [v2][v1]overlay=shortest=1:x=30:y=30 [v3]; [v3][1:v]overlay=0:0,setdar=16/9; [0:a]atempo=1.15, aecho=0.4:0.66:2:0.2, chorus=0.5:0.9:50|80:0.4|0.42:0.25|0.4:2|1.4, firequalizer=gain_entry='entry(100,0); entry(400, -4); entry(1000, -6); entry(2000, 0)',equalizer = f = 1000: width_type = q: width = 1: g = 2, equalizer = f = 100: width_type = q: width = 2: g = 5,pan=stereo|c0<c0+0*c1|c1<c0+0*c1,aeval=val(0)|val(1),volume=3” -vcodec libx264 -pix_fmt yuv420p -r 25 -g 25 -b:v 800k -shortest -acodec libmp3lame -b:a 128k -ar 44100 -preset fast -f flv "output_live.mp4"
Bây giờ hãy thưởng thức thành quả thôi nào.
Download toàn bộ các tài nguyên cần thiết của bài viết tại đây.
Getlink bằng API livestreamer và live stream cùng ffmpeg
Đây là phương pháp mình thấy khá tối ưu bởi vì có sử dụng API và hôm nay mình mới có dịp chia sẻ. Ưu điểm của phương pháp này là ổn định, không lag, không giật, không mất luồng và rất tối ưu cho việc live stream Video live streaming trên Youtube.
Chúng ta sử dụng bộ công cụ livestreamer để thực hiện việc này. Các bạn tải về livestreamer cho Windows tại đây: Download
Một ưu điểm của livestreamer là chúng ta không cần thực hiện việc getlink .m3u8 mà chuyển trực tiếp luồng Video vào ffmpeg để xử lý và live stream. Với livestreamer giúp chúng ta có quyền truy cập vào dữ liệu luồng Video bằng việc sử dụng API nên chính vì vậy hiện tượng mất luồng Video khi getlink .m3u8 sẽ không còn.
Cài đặt vào máy tính bình thường theo mặc định ở đường dẫn: “C:\Program Files (x86)\Livestreamer” và các bạn làm việc trên thư mục này hoặc cũng có thể tải bản livestreamer Portable về không cần cài đặt tại đây.
Chúng ta sẽ sử dụng livestreamer để đưa luồng Video vào ffmpeg để thực hiện việc live stream nên các bạn copy file ffmpeg.exe bỏ vào chung thư mục với livestreamer vừa giải nén.
Livestreamer sử dụng trình phát Media VLC mặc định để phát Video, vì vậy các bạn nhớ cài đặt VLC Media Player trước để xem Video. Khởi động cmd tại thư mục livestreamer và bây giờ việc của các bạn là tìm link Video đang live stream trên Youtube và đưa vào code để thử nghiệm.
Chạy đoạn code sau với “link_video” là link Youtube đang phát trực tiếp.
livestreamer link_video best
Bây giờ Video đang phát bằng VLC sử dụng công cụ livestreamer. Bạn có thể xem trước và cảm nhận chất lượng của Video cũng như sự ổn định của luồng Video.
Nếu không phát được trên VLC thì bạn cũng có thể đưa luồng Video này vào các trình Player được cài đặt sẵn trong máy. Bạn sửa lại đường dẫn tới trình Player đoạn: “C:\Program Files (x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64_nvo.exe”
livestreamer link_video best -o - | "C:\Program Files (x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64_nvo.exe" -
Chúng ta sẽ đưa luồng Video này vào ffmpeg để thực hiện việc live stream qua câu lệnh:
livestreamer https://www.youtube.com/watch?v=ID best -o - | ffmpeg -i - -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -flags +global_header -bsf:a aac_adtstoasc -bufsize 5000k -f flv rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx-xxxx-xxxx
Quay Video màn hình bằng ffmpeg và live stream
Nếu cách trên không khả thi thì bạn có thể sử dụng tính năng quay màn hình Video đang live stream bằng ffmpeg và đưa vào code ffmpeg xử lý âm thanh hình ảnh. Tham khảo bài viết đó tại đây.
Kết hợp giữa OBS Studio và ffmpeg để live stream
Xem bài viết này để kết hợp giữa OBS Studio và ffmpeg để live stream. Đây cũng là một cách khá hay khi kết hợp 2 phần mềm này cho việc live stream Youtube.
Chi tiết hơn của phương pháp này với những thiết lập nâng cao trong OBS Studio xem tại bài viết này.
Lời kết
Trên đây mình đã hướng dẫn cách live stream Video đang live stream trên Youtube bằng nhiều phướng pháp để các bạn có những phương án sử dụng khi cần thiết. Chúc các bạn thành công.
liem truong viết
a cho e hỏi : e làm theo các bước trên nhưng sau khi điên link m3u8 vào thi khi chạy nó lại bị lỗi sever returned 403 forbindden a. có cách nào khăc phục được k a ơi
admin viết
Em thử lấy link trực tiếp đưa thẳng vào ffmpeg luôn nha. Anh có ghim ở đầu bài đó.
Vodka viết
Bác cho em hỏi vs. Sao thằng khác live cả ngày mà em live lại của nó chỉ đc có 5 phút là chặn bản quyền ạ? Em cảm ơn bác nhé
admin viết
Nhiều yếu tố lắm, có thể là nó đang ở Network, kênh bác Live bị bắt thủ công từ khóa, Đôi khi nó là con nhà người ta…nhiều lắm.
trung viết
admin ơi mình live theo cách này hay bị mất luồng lắm,tằm vài tiếng là link get nó die ko vào được nữa,có cách nào ko bị mất luồng ko anh 🙁