This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show Show hidden characters #! /bin/bash # # Diffusion youtube avec ffmpeg # Configurer youtube avec une résolution 720p. La vidéo n'est pas scalée. VBR="2500k" # Bitrate de la vidéo en sortie FPS="30" # FPS de la vidéo en sortie QUAL="medium" # Preset de qualité FFMPEG YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2" # URL de base RTMP youtube SOURCE="udp://239.255.139.0:1234" # Source UDP (voir les annonces SAP) KEY="...." # Clé à récupérer sur l'event youtube ffmpeg \ -i "$SOURCE" -deinterlace \ -vcodec libx264 -pix_fmt yuv420p -preset $QUAL -r $FPS -g $(($FPS * 2)) -b:v $VBR \ -acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b:a 712000 -bufsize 512k \ -f flv "$YOUTUBE_URL/$KEY" Tìm kiếmTìm kiếm cho: Âm nhạchttps://www.youtube.com/watch?v=DttvtxPy6IU Danh mụcDanh mục Bài & Trang đáng chú ý
Bình luận mới nhấtInbound links là gì… trong Inbound links là gì… trong Inbound links là gì… trong Bài viết mới
Follow Kiến Thức Center on WordPress.com TranslateTháng Một 2024 H B T N S B C 1234567 891011121314 15161718192021 22232425262728 293031« Th5 Random Musichttps://youtu.be/DttvtxPy6IU?rel=&autoplay=1 Bài viết này mình sẽ tổng hợp những code live stream Youtube bằng ffmpeg. Những cập nhật về code live stream sẽ được Post ở bài viết này. Chia sẻ những code live stream mình đã Post ở các bài viết trước trên Blog. Bài viết này mình sẽ tổng hợp lại và giúp cho những ai đang có thắc mắc về live stream Youtube có thể tìm thấy câu trả lời ở đây. Mọi người có code live stream nào hay thì cùng chia sẻ ở cuối bài viết với mục tiêu cùng WIN – WIN nhé. Xin chào mọi người, lại là mình Hưng - Lập Trình Viên AI. Hôm nay mình sẽ tiếp theo phần series về phần giải mã video với FFMPEG. Nếu các bạn chưa biết gì về FFMPEG và làm sao cài đặt FFMPEG thì có thể tham khảo phần 1 Giới thiệu về FFMPEG và cài đặt FFMPEG (phần 1) Trong phần này, mình sẽ đi sâu vào việc sử dụng các tools đi kèm với FFMPEG sau khi cài đặt là Chuẩn Bị
Thí nghiệm 1 - Đọc thông tin từ videoĐọc thông tin từ file Thật là đơn giản không nào ? Mình có thể nắm được 1 số thông tin quan trọng từ video
Thật ra còn cách để xem thông tin video mà không cần dùng FFMPEG, bằng cách click chuột phải vào video chọn Properties. Cái hay của tool này là nó có thể đọc được thông tin từ luồng RTSP của camera nữa nha. Các bạn thử thử xem Thí nghiệm 2 - Play VideoMình sẽ play video bằng cách sử dụng
Mình đố các bạn Thí nghiệm 3 - Đánh Giá Hiệu Suất Hệ Thống bằng FFPLAYCó bao giờ tự hỏi là khi mình play 1 cái video, máy tính của mình có CPU mạnh, có gắn card GPU, thì video player của mình nó sử dụng CPU hay GPU nhỉ ? Mình kiểm tra đơn giản bằng cách sử dụng
1 . Monitor hệ thống với phần mềm
2 nha. Trước khi play video Sau khi play video Như vậy thì đối với hệ thống hiện tại, CPU với GPU đều cùng nhích nhẹ lên một tí. Tức là cả CPU và GPU đang được sử dụng đồng thời với nhau để xử lí 1 video này. Kết luận:
Thí nghiệm 4 - Đánh Giá Hiệu Suất Hệ Thống bằng FFMPEGMình vọc chơi chơi mấy tool trên rồi, bây giờ vào chủ đề chính. Mình sẽ giới thiệu sơ sơ chút về thí nghiệm này. Mình sẽ sử dụng transcoding để test hiệu năng của hệ thống đơn giản nhất. Bạn có thể đọc thêm về định nghĩa của Transcoding ở đây. Đây là một diagram mình vẽ, cụ thể 1 file video là 1 dạng dữ liệu được nén lại (encoded video), giải nén dữ liệu và thay đổi thông tin dữ liệu rồi cuối cùng nén dữ liệu đó lại thành 1 file video mới. Hồi xưa, mình hay sử dụng transcoding này mà mình không hề hay biết. Ví dụ mình download 1 file video - Japanese Video Anime Một ứng dụng khác của việc ứng dụng Transcoding là ứng dụng trong việc live stream, khi bạn live stream trên Youtube chả hạn, máy chủ của Youtube nó sẽ transcode ra nhiều streams cùng lúc với nhiều độ phân giải khác nhau. Nhiều độ phải khác nhau sẽ thích hợp cho nhiều thiết bị khác nhau ví dụ như Màn hình, Ipad, Iphone ... Nhiều độ phân giải khác nhau cho cùng 1 video trên Youtube. Chắc chắn có sự hỗ trợ của công nghệ transcoding. Bây giờ mình thử áp dụng Transcoding nhẹ nhàng bằng FFMPEG nhé. Hiện tại
Các bạn chú ý ba vùng màu đỏ 1,2,3. Mình nhận thấy là
Tổng thời gian xử lí là 41s Như vậy, trong quá trình transcoding, ffmpeg không dùng tí công năng nào của GPU cả. Anh GPU ngồi nghỉ chơi xơi nước Đây là thành quả sau khi giảm bitrate video xuống. Bây giờ mình ép buộc nó sử dụng GPU bằng cách chỉ định dùng bộ SDK của NVIDIA là nvenc_h264. FFMPEG trong quá trình encoding sẽ sử dụng GPU.
Tổng thời gian xử lí là 6s Nhận thấy là:
Vì vậy, bất cứ khi nào có thể, bạn nên tận dụng cái bộ mã hóa encoder (nvenc_h264) của NVIDIA bằng cách thêm nào
4. FFMPEG là một thư viện mạnh, có rất nhiều commands, các bạn chịu khó đọc và tìm hiểu vài commands đơn giản thì sau này áp dụng cho nhiều việc lắm nhé. Hiện tại thì mình decode (giải mã) video bằng CPU, encode (mã hóa) ra video bằng GPU. Mình sẽ cập nhật phần giải mã rồi kết hợp vừa giải mã + mã hóa hoàn toàn bằng GPU sau. Kết luậnQua bài viết mình, các bạn có thể
Bài Tập Về NhàSau đây là phần lý thuyết, theo mình thì học phải đi đôi với thực hành. Mình có một số bài tập giao về nhà cho các bạn nè.
Tham Khảo[1] Giới thiệu về FFMPEG và cài đặt FFMPEG (Phần 1) - https://viblo.asia/p/su-dung-ffmpeg-de-giai-ma-luong-stream-h264-voi-thu-vien-tang-toc-phan-cung-nvidia-codec-sdk-phan-1-YWOZrr6EZQ0 [2] FFMPEG Documentation: https://ffmpeg.org/documentation.html [3] FFMPEG 4.4: https://ubuntuhandbook.org/index.php/2021/05/install-ffmpeg-4-4-ppa-ubuntu-20-04-21-04/ |