Showing posts with label multimedia. Show all posts
Showing posts with label multimedia. Show all posts

12/21/09

Multimedia trong Linux (sửa, bổ xung và hết)


Hệ thống multimedia trong Linux.


Multimedia trong Linux khá rắc rối. Bài này ghi lại vài khái niệm tìm hiểu được để đỡ lúng túng khi sử dụng.



I. Một vài khái niệm


Multimedia là từ chung để chỉ các dạng dữ liệu: văn bản (text), âm thanh (audio), ảnh tĩnh (still image), hoạt hình (animation) và phim (video).


Các dữ liệu audio, video được tạo ra (bằng máy ảnh, máy quay video) hoặc được chơi lại (playback, bằng loa, đèn hình TV hay màn hình máy tính) dưới dạng các sóng điện tử liên tục. Các sóng đó phải được chuyển thành dữ liệu số ( encoder, mã hóa: từ sóng thành các dãy số 0,1) rồi nén hoặc không nén để có thể lưu trữ, biên tập, truyền đi trên máy tính. Khi encoder, dữ liệu có thể để nguyên (lossless, không mất) hoặc bỏ đi các phần thừa mà con người không cảm nhận được để giảm dung lượng dữ liệu tiện cho lưu trữ hoặc truyền trên mạng (lossy, có mất dữ liệu).


Để con người có thể thưởng thức được (nghe, xem), các dữ liệu số multimedia nói trên lại được chuyển đổi ngược lại từ các dãy số 0,1 thành sóng điện từ làm kêu loa hoặc vẽ hình lên màn hình. Quá trình chuyển đổi ngược đó gọi là decoder, giải mã.


Một bài hát, khi ghi vào băng từ hoặc đĩa than vẫn ở dạng các sóng âm, khi ghi thành file MP3 là đã được mã hóa sang dạng số. Tương tự, một bức ảnh chụp lên phim được lưu dưới dạng các phổ màu liên tục, khi lưu thành file JPEG, PNG, ... là đã mã hóa sang dạng số.


Codec (viết tắt của en coder/ decoder)là các phần mềm/thuật toán/công nghệ dùng để mã và giải mã (có nén hoặc không) dữ liệu multimedia như nói trên.


hàng nghìn codec nhằm vào các mục tiêu khác nhau: codec cho điện thoại phải có độ trễ thấp, chất lượng âm không cần cao; ngược lại, codec để chơi nhạc chất lượng âm phải cao nhưng độ trễ không quan trọng, v.v....


Multimedia Format: sau khi mã hóa, dữ liệu multimedia được lưu thành các file có định dạng (format) khác nhau. Một file ảnh có thể lưu dưới dạng file jpg, png, bmp, ... Một đoạn phim thường gồm ba loại dữ liệu: video, audio và metadata để đồng bộ hình với tiếng. Ba loại dữ liệu đó được lưu chung trong một loại format gọi là media container format (ví dụ avi). Nhiều loại codec khác nhau có thể lưu file cùng một format avi, tất nhiên là chất lượng phim tùy theo codec.


Một vài codec và format chính (có hàng nghìn codec và hàng trăm format):


Microsoft: Microsoft có hai hệ codec phổ biến là Windows Media Audio (WMA) và Windows Media Video (WMV). Mỗi hệ gồm một số codec. Các file được mã hóa bằng hai codec trên được lưu theo media container format ASF (Advanced System Format). Tuy nhiên phần đuôi file (extension) thì tùy: file audio có đuôi là .wma, file video: .wmv nhưng nếu muốn cả hai loại file trên có thể có đuôi là .asf.


Microsoft còn có một container format cổ hơn là AVI (Audio Video Interleave), đuôi file .avi. Cả hai loại format ASF và AVI có thể chứa được nhiều loại codec khác, không bắt buộc phải là WMA và WMV.


MPEG: là tên tắt của Nhóm chuyên gia về ảnh động (Moving Picture Experts Group) chuyên thiết lập các chuẩn ISO về nén và truyền audio, video. MPEG-1 là chuẩn đầu tiên trong đó có MPEG-1 Audio Layer 3 ( MP3) vẫn còn rất phổ biến hiện nay. MP4 (viết tắt của MPEG-4 Part14) là một loại media container format, đuôi file cũng là .mp4.


DivX: là một video codec nổi tiếng vì có khả năng nén các file video lớn xuống dung lượng thấp nhưng vẫn giữ được chất lượng hình khá. Từ DivX 6 có thêm một media container format DivX Media Format (DMF), đuôi file là .divx, dành cho DVD-Video. DivX là một sản phẩm nguồn đóng.


Xvid: một video codec cạnh tranh với DivX, nguồn mở.


RealAudio/RealVideo: là các format của công ty RealNetwork cho file audio và video. Mỗi format này có thể dùng các codec khác nhau. Đuôi file tương ứng là .ra và .rv. Ngoài ra còn có một format tổ hợp cho cả audio và video gọi là Real Media Format có đuôi file là .rm. Các file .ram và .smil dùng cho các link từ website để chạy các file tải về từ Internet (streaming).


FFmpeg: là một dự án nguồn mở xây dựng các phần mềm và thư viện để ghi, chuyển đổi và truyền dẫn audio/video. Thư viện libavcodec cung cấp codec cho hàng chục loại format audio/video khác nhau.


Ogg: là media container format nguồn mở dành cho audio/video chất lượng cao. Trong đó, Ogg Theora là video codec, Ogg Vorbis là audio codec. Trước đây, file .ogg gồm cả audio và/hoặc video. Từ 2007, file .ogg chỉ còn là file audio, file .oga là file audio, file .ogv là file video.


Flash Video: là một media container format dùng chơi video trên các trang web bằng Adobe Flash Player. Có hai format là FLV và F4V, trong đó F4V mới hơn tuân theo chuẩn ISO. Đuôi file .f4v dành cho file video mp4, đuôi .f4a dành cho audio mp4. Nội dung trong file có thể dùng các codec khác nhau: H264, mp3, …


Adobe còn một format nữa là SWF (đuôi file .swf ) chuyên dùng cho đồ họa vector động trên web.


QuickTime: là một media container format độc quyền của Apple Inc. Đuôi file là .mov hoặc .qt. Mỗi loại dữ liệu: video, audio, text, ... được lưu thành một track.



II. Driver cho sound card: ALSA


ALSA (Advanced Linux Sound Architecture) là một hệ thống con của nhân Linux gồm các driver cho sound card và dụng cụ nhạc điện tử (MIDI), các thư viện để lập trình giao tiếp với các thiết bị nói trên và một số công cụ cần thiết (mixer,...). Hiểu đơn giản ALSA tức là driver cho sound card.


Các driver đều dưới dạng module để có thể nạp khi cần. ALSA hiện nay thay thế cho hệ thống cũ OSS (Open Sound System) nhưng vẫn tương thích với các phần mềm OSS. OSS cũng là giao diện với các soundcard nhưng có nhiều hạn chế nên bị thay thế.


Ví dụ trong Mandriva, khi mở Control Center > Hardware > Sound Configuration, ta thấy màn hình sau:


Sound card đang dùng là Intel 82801G, driver là snd_hda_intel.



III. Sound Server


Nếu sử dụng âm thanh đơn giản thì chỉ cần sound driver (alsa, oss, …) là đủ. Nhưng trong những trường hợp phức tạp hơn thì phải có hẳn một máy chủ âm thanh Sound Server trong hệ điều hành làm các nhiệm vụ sau:





  • Nhận các luồng âm thanh từ nhiều nguồn khác nhau (micro hoặc các phần mềm chơi nhạc, phát âm, các luồng âm streaming tải về từ Internet,...).




  • Hòa trộn (mix) các luồng âm đó thành một rồi chuyển đến các thiết bị phát âm (các sound card trên máy, các sound server trên các máy khác trên mạng để phát âm tại đó,...). Tóm lại là tiếp nhận và điều phối các luồng âm thanh trong hệ thống.




  • Thực hiện một số chức năng khác mà sound driver không có.




Một vài sound server phổ biến:


aRts ( analog Real time synthesizer ): một cơ chế xử lý (framework) các luồng âm thanh theo thời gian thực, trong đó có một sound server (artsd), dùng phổ biến cho KDE2, 3, hiện ngừng phát triển. KDE4 chuyển sang dùng PulseAudio và Phonon.


JACK ( JACK Audio Connection Kit ): một sound server nguồn mở cạnh tranh với aRts, chạy được trên Linux, Mac, Windows. Nhiệm vụ chính là tạo kết nối âm độ trễ thấp giữa ứng dụng và thiết bị phát âm. Một số ứng dụng như Audacity, XMMS dùng sound server này.


ESD hoặc EsounD ( Enlightened Sound Daemon ): sound server dành riêng cho môi trường đồ họa Enlightenment và GNOME. Đây là sound server lâu đời thuộc dự án GNOME nên hầu hết các ứng dụng âm thanh đều hỗ trợ nó. Tuy nhiên từ tháng 4/2009, các module của nó chuyển vào thư viện libcanberra hoặc GStreame, PulseAudio.


PulseAudio : sound server nguồn mở chạy trên Windows và Linux, hiện đang được đưa vào thay cho ESD. Các bản Linux gần đây (Ubuntu, Fedora, Mandriva, openSUSE,...) đều dùng PulseAudio, ví dụ Ubuntu từ bản 8.04.



Cơ chế hoạt động của PulseAudio theo hình trên:





  • Các ứng dụng (Mplayer, Xine,...) chuyển âm thanh cho PulseAudio trực tiếp hoặc qua các thư viện trung gian. Các module tương ứng của PulseAudio được nạp khi cần để tiếp nhận các nguồn âm đó.




  • Các nguồn âm khác (từ micro nối với sound card, từ một máy khác trên mạng, …) cũng chuyển âm cho các driver ALSA/OSS hardware drivers hoặc các Network stack. Các driver đó lại chuyển tiếp âm cho PulseAudio thông qua các card ảo ALSA source, OSS source, RTP source, ... là các cổng nhận âm ( source ) của PulseAudio.




  • PulseAudio server core tiếp nhận các nguồn âm từ các cổng nhận, xử lý (mix) rồi chuyển ra các cổng phát gọi là sink . Âm từ ví dụ ALSA sink sẽ chuyển cho ALSA driver để chuyển vào sound card và phát ra loa nối với sound card. Âm để phát trên máy khác trong mạng sẽ đi từ ví dụ RTP sink, qua các network stack ra network card để theo dây mạng đến các máy khác.




Như vậy, PulseAudio đóng vai trò điều hành trung gian, nhờ có nó:





  • Chỉnh được âm lượng cho từng ứng dụng thông qua phần mềm PulseAudio Volume Control.




  • Các nguồn phát âm (phần mềm chơi nhạc, micro, các máy khác trên mạng, …) chỉ cần giao tiếp với PulseAudio như với một sound card ảo, không cần hỗ trợ nhiều cơ chế xử lý âm, nhiều giao thức, … Các driver của thiết bị phát âm cũng chỉ cần giao tiếp với PulseAudio.




Nếu không dùng đến, có thể disable hoặc gỡ bỏ PulseAudio.



IV. Driver cho graphic card và Xorg server


Các loại ảnh, video, hoạt hình hiển thị trên màn hình phụ thuộc vào các driver của card màn hình (graphic card) và phần mềm Xorg server. Một vài thông tin liên quan xem tại đây.



V. Cơ chế xử lý dữ liệu multimedia (Multimedia framework)


Một cơ chế xử lý dữ liệu multimedia (Multimedia framework – MMF) là một hệ thống phần mềm xử lý các dữ liệu multimedia trên máy tính hoặc mạng máy tính theo một cơ chế nào đó. Hệ thống gồm một giao diện lập trình ứng dụng API, các module hỗ trợ các loại codecs, container formats và hỗ trợ các giao thức truyền dẫn luồng âm thanh, video (streaming media) qua mạng.


MMF dùng làm hệ thống nền (back-end) cho các ứng dụng chơi nhạc, video, các phần mềm biên tập âm thanh và video, các ứng dụng videoconferencing và các phần mềm multimedia khác.


Một vài MMF phổ biến:


GStreamer: một MMF nguồn mở chạy được trên Linux, Solaris, Mac, Windows.


GStreamer chia các công đoạn xử lý thành các bộ phận (element). Các bộ phận nối với nhau bằng các đường ống (pipeline) có đầu ra (source pad) và đầu vào (sink pad). Trong hình trên là ví dụ chơi một file MP3: bộ phận File đọc file từ ổ cứng rồi chuyển cho bộ phận giải mã (Decoder). Decoder chuyển dữ liệu số thành mã xung (Pulse-code Modulation). Mã xung theo đường ống chuyển cho bộ phận ALSA driver để từ đó đưa ra loa.


Mỗi bộ phận (chức năng) của GStreamer được lập trình dưới dạng plugin (phần mềm bổ xung) tạo nên các thư viện dùng chung. Hiện tại có ba bộ plugin là Good, BadUgly. Good plugins gồm các plugin chất lượng cao, tuân theo giấy phép nguồn mở LGPL, đã được kiểm định đầy đủ. Bad plugins gồm các plugin chưa hoàn chỉnh về mặt nào đó như Good (chất lượng chưa cao, hoặc chất lượng cao nhưng còn thiếu một cái gì đó, …). Ugly plugins là các plugins chất lượng tốt nhưng có vấn đề về bản quyền.


GNOME là nơi đầu tiên dùng công nghệ này. Ví dụ trình Totem (trên menu là Movie Player) hỗ trợ GStreamer. Một số điện thoại Nokia cũng dùng GStreamer.


DirectShow: MMF của Microsoft (hiện được thay bằng Media Foundation trong Windows Vista và Windows 7).


Tương tự như trên, DirectShow chia các công đoạn xử lý media thành các filter, mỗi filter có đầu vào (input pin) và đầu ra (output pin) để kết nối với nhau. Các luồng dữ liệu media được chuyển qua từng filter tương tự như sơ đồ trên của GStreamer. Nhược điểm của DirectShow là số codec được hỗ trợ rất hạn chế.


FFmpeg: là một dự án nguồn mở xây dựng các phần mềm và thư viện để ghi, chuyển đổi và truyền dẫn audio/video. Thư viện libavcodec cung cấp codec cho hàng chục loại format audio/video khác nhau. Thư viện libavformat có các công cụ để dồn/tách kênh (mux/demux) truyền dẫn media.


Trình media player Mplayer (và giao diện Smplayer) dùng backend là FFmpeg.


VLC: VLC vừa là tên của một media player, vừa là một MMF, nguồn mở. VLC hỗ trợ khá nhiều codec (dùng cả libavcodec và có các codec không có trong libavcodec), về mặt này nó khá hơn Mplayer. VLC chạy được trên nhiều hệ điều hành (Windows, Mac, Linux, Solaris, …). VLC chơi được các DVD mã hóa, chơi DVD không cần biết mã vùng. Đặc biệt nó có thể chơi các file video còn đang download dở hoặc bị hỏng.


Xine: một máy chơi video và nhạc (multimedia playback engine) nguồn mở, chạy được trên nhiều hệ điều hành. Thư viện xine-lib có thể decoder nhiều loại codec khác nhau. Xine cũng dùng các thư viện của các dự án khác như FFmpeg, libmpeg2, ...


Phonon: Phonon được xếp vào loại MMF nhưng thực ra nó chỉ là một giao diện lập trình ứng dụng (API - Application Programming Interface) dành riêng cho môi trường đồ họa KDE4. KDE4 dùng Phonon làm trung gian để giao tiếp với nhiều MMF, backend khác nhau (Xine, GStreamer, ....).


Phonon cho phép cấu hình tập trung (hiện nay mới chỉ là audio, chưa có video). Ví dụ trong Mandriva KDE4, mở mục Multimedia trong System Settings (Configure Your Desktop) ta có:


Trong hình trên, về nguyên tắc có thể chọn các audio output (cột bên phải) cho các hệ thống âm thanh ở cột bên trái. Nhấn vào tab Backend:



Như vậy trên máy này đã cài hai backend và GStreamer là ưu tiên.



VI. Vài vấn đề khác


Như vậy rắc rối chính khi chơi multimedia trên Linux là ở hai vấn đề:





  1. Có quá nhiều codecs, trong đó có nhiều cái không phải nguồn mở hoặc không miễn phí. Do đó các bản Linux “lớn” như Ubuntu, openSUSE, Mandriva mặc định sẽ không cài sẵn để tránh rắc rối. Người dùng phải tự cài và tự chịu trách nhiệm. Các bản Linux “ nhỏ” như Linux Mint, PCLinuxOS thì cài sẵn để tạo thuận lợi cho người dùng.




  2. Có nhiều backend khác nhau, mỗi cái đều có cái hay dở riêng và cũng chưa có cái nào thật hoàn chỉnh. Hiện cũng đang có những dự án nhằm mục tiêu thống nhất backend cho Linux.




Theo kinh nghiệm cá nhân thì hai trình SMplayerVLC hiện nay tương đối đáp ứng được nhu cầu hơn cả. Khi cài SMplayer xong, lưu ý vào Options → Preferences → General → Video → Output driver (và Audio → Output driver) chọn các driver thích hợp là có thể chơi được hầu hết các định dạng multimedia phổ biến như với Windows Media Player.


Khi dùng Windows Media Player để nghe nhạc, plugin DFX cho các hiệu ứng âm thanh như 3D sourround, ambien, hyperbass, … Trong Linux, bật các hiệu ứng 3D âm thanh như sau:


Với các bản Linux KDE, mở Menu - Sound&Video - KMix (Sound Mixer) ta có:



Trong hình trên có ba mục: 3D Control-Switch, 3D Control-Depth và 3D Control-Center (nếu chưa có thì vào Settings - Configure Channels để add nó vào. Bỏ chọn mục Mute của 3D Control-Switch để bật hiệu ứng 3D rồi chỉnh hai cái còn lại. Chú ý là các mục trên phụ thuộc tính năng sound card, có sound card không có ba mục trên nhưng lại có Surround.


Với các bản Linux Gnome (Ubuntu, …), cần cài thêm ALSA Mixer hoặc GNOME ALSA Mixer rồi mở ra cũng có màn hình tương tự như trên.


Nghe nhạc trong Windows mà không bật DFX, trong Linux không bật các hiệu ứng 3D nói trên thì chán hẳn.




12/4/09

Multimedia trong Linux


Hệ thống multimedia trong Linux.


Multimedia trong Linux khá rắc rối. Bài này ghi lại vài khái niệm tìm hiểu được để đỡ lúng túng khi sử dụng.



I. Một vài khái niệm


Multimedia là từ chung để chỉ các dạng dữ liệu: văn bản (text), âm thanh (audio), ảnh tĩnh (still image), hoạt hình (animation) và phim (video).


Các dữ liệu audio, video được tạo ra (bằng máy ảnh, máy quay video) hoặc được chơi lại (playback, bằng loa, đèn hình TV hay màn hình máy tính) dưới dạng các sóng điện tử liên tục. Các sóng đó phải được chuyển thành dữ liệu số ( encoder, mã hóa: từ sóng thành các dãy số 0,1) rồi nén hoặc không nén để có thể lưu trữ, biên tập, truyền đi trên máy tính. Khi encoder, dữ liệu có thể để nguyên (lossless, không mất) hoặc bỏ đi các phần thừa mà con người không cảm nhận được để giảm dung lượng dữ liệu tiện cho lưu trữ hoặc truyền trên mạng (lossy, có mất dữ liệu).


Để con người có thể thưởng thức được (nghe, xem), các dữ liệu số multimedia nói trên lại được chuyển đổi ngược lại từ các dãy số 0,1 thành sóng điện từ làm kêu loa hoặc vẽ hình lên màn hình. Quá trình chuyển đổi ngược đó gọi là decoder, giải mã.


Một bài hát, khi ghi vào băng từ hoặc đĩa than vẫn ở dạng các sóng âm, khi ghi thành file MP3 là đã được mã hóa sang dạng số. Tương tự, một bức ảnh chụp lên phim được lưu dưới dạng các phổ màu liên tục, khi lưu thành file JPEG, PNG, ... là đã mã hóa sang dạng số.


Codec (viết tắt của en coder/ decoder)là các phần mềm/thuật toán/công nghệ dùng để mã và giải mã (có nén hoặc không) dữ liệu multimedia như nói trên.


hàng nghìn codec nhằm vào các mục tiêu khác nhau: codec cho điện thoại phải có độ trễ thấp, chất lượng âm không cần cao; ngược lại, codec để chơi nhạc chất lượng âm phải cao nhưng độ trễ không quan trọng, v.v....


Multimedia Format: sau khi mã hóa, dữ liệu multimedia được lưu thành các file có định dạng (format) khác nhau. Một file ảnh có thể lưu dưới dạng file jpg, png, bmp, ... Một đoạn phim thường gồm ba loại dữ liệu: video, audio và metadata để đồng bộ hình với tiếng. Ba loại dữ liệu đó được lưu chung trong một loại format gọi là media container format (ví dụ avi). Nhiều loại codec khác nhau có thể lưu file cùng một format avi, tất nhiên là chất lượng phim tùy theo codec.


Một vài codec và format chính (có hàng nghìn codec và hàng trăm format):


Microsoft: Microsoft có hai hệ codec phổ biến là Windows Media Audio (WMA) và Windows Media Video (WMV). Mỗi hệ gồm một số codec. Các file được mã hóa bằng hai codec trên được lưu theo media container format ASF (Advanced System Format). Tuy nhiên phần đuôi file (extension) thì tùy: file audio có đuôi là .wma, file video: .wmv nhưng nếu muốn cả hai loại file trên có thể có đuôi là .asf.


Microsoft còn có một container format cổ hơn là AVI (Audio Video Interleave), đuôi file .avi. Cả hai loại format ASF và AVI có thể chứa được nhiều loại codec khác, không bắt buộc phải là WMA và WMV.


MPEG: là tên tắt của Nhóm chuyên gia về ảnh động (Moving Picture Experts Group) chuyên thiết lập các chuẩn ISO về nén và truyền audio, video. MPEG-1 là chuẩn đầu tiên trong đó có MPEG-1 Audio Layer 3 ( MP3) vẫn còn rất phổ biến hiện nay. MP4 (viết tắt của MPEG-4 Part14) là một loại media container format, đuôi file cũng là .mp4.


DivX: DivX codec nổi tiếng vì có khả năng nén các file video lớn xuống dung lượng thấp nhưng vẫn giữ được chất lượng hình khá. Từ DivX 6 có thêm một media container format DivX Media Format (DMF), đuôi file là .divx, dành cho DVD-Video.


RealAudio/RealVideo: là các format của công ty RealNetwork cho file audio và video. Mỗi format này có thể dùng các codec khác nhau. Đuôi file tương ứng là .ra và .rv. Ngoài ra còn có một format tổ hợp cho cả audio và video gọi là Real Media Format có đuôi file là .rm. Các file .ram và .smil dùng cho các link từ website để chạy các file tải về từ Internet (streaming).


FFmpeg: là một dự án nguồn mở xây dựng các phần mềm và thư viện để ghi, chuyển đổi và truyền dẫn audio/video. Thư viện libavcodec cung cấp codec cho hàng chục loại format audio/video khác nhau.


Ogg: là media container format nguồn mở dành cho audio/video chất lượng cao. Trong đó, Ogg Theora là video codec, Ogg Vorbis là audio codec. Trước đây, file .ogg gồm cả audio và/hoặc video. Từ 2007, file .ogg chỉ còn là file audio, file .oga là file audio, file .ogv là file video.


Flash Video: là một media container format dùng chơi video trên các trang web bằng Adobe Flash Player. Có hai format là FLV và F4V, trong đó F4V mới hơn tuân theo chuẩn ISO. Đuôi file .f4v dành cho file video mp4, đuôi .f4a dành cho audio mp4. Nội dung trong file có thể dùng các codec khác nhau: H264, mp3, …


Adobe còn một format nữa là SWF (đuôi file .swf ) chuyên dùng cho đồ họa vector động trên web.



II. ALSA


ALSA (Advanced Linux Sound Architecture) là một hệ thống con của nhân Linux gồm các driver cho sound card và dụng cụ nhạc điện tử (MIDI), các thư viện để lập trình giao tiếp với các thiết bị nói trên và một số công cụ cần thiết (mixer,...). Hiểu đơn giản ALSA tức là driver cho sound card.


Các driver đều dưới dạng module để có thể nạp khi cần. ALSA hiện nay thay thế cho hệ thống cũ OSS (Open Sound System) nhưng vẫn tương thích với các phần mềm OSS. OSS cũng là giao diện với các soundcard nhưng có nhiều hạn chế nên bị thay thế.


Ví dụ trong Mandriva, khi mở Control Center > Hardware > Sound Configuration, ta thấy màn hình sau:


Sound card đang dùng là Intel 82801G, driver là snd_hda_intel.



III. Sound Server


Nếu sử dụng âm thanh đơn giản thì chỉ cần sound driver (alsa, oss, …) là đủ. Nhưng trong những trường hợp phức tạp hơn thì phải có hẳn một máy chủ âm thanh Sound Server trong hệ điều hành làm các nhiệm vụ sau:





  • Nhận các luồng âm thanh từ nhiều nguồn khác nhau (micro hoặc các phần mềm chơi nhạc, phát âm, ...).




  • Chuyển các luồng âm đó đến các thiết bị phát âm (các sound card trên máy, các sound server trên các máy khác trên mạng để phát âm tại đó,...).




  • Thực hiện một số chức năng khác mà sound driver không có.




(còn tiếp)







/home/zxc/DATA/Mydocuments/Dropbox/Bai viet blog/Hệ thống multimedia trong Linux.odt Page4of4




3/10/09

Quản lý file audio/video trên Linux.

Hướng dẫn quản lý các file audio/video trên Linux


Posted by: Damien March 3rd, 2009.


Dịch: zxc232


Bạn đã bao giờ gặp tình huống muốn chuyển một file video từ format này sang format khác trên máy Linux mà không biết làm thế nào chưa? Chơi DVD trên Ubuntu hoặc rip đĩa VCD thành file mpeg?


Dưới đây liệt kê các phần mềm dùng xử lý các file video/audio trong Linux. Các phần mềm này chạy được với hầu hết các bản Linux. Cách cài đặt và ảnh màn hình dựa trên Ubuntu nhưng cũng áp dụng được tương tự cho các bản Linux khác.


Các chương trình nêu dưới đây đều có link dẫn đến site gốc của chương trình.



I.Xử lý VideoCD


I.1 Chơi VCD trên Linux.


Hầu hết các chương trình multimedia đều có thể chạy VCD. Cá nhân tôi khuyên nên dùng VLC vì đó là trình duy nhất có thể chơi mọi loại file audio/video.


(Mplayer và Totem cũng chơi được hầu hết file audio/video. SMplayer có nhiều tính năng hơn Totem dùng để chơi nhạc và xem video thì rất tốt nhưng không có các tính năng convert format như VLC nêu dưới đây - ND.)



I.2 Ghi đĩa VCD


Các chương trình ghi đĩa CD như Brasero K3b đều có thể ghi được đĩa VCD. Riêng K3b thì file nguồn phải là file mpeg.



I.3 Ghi video từ VCD


Cách dễ nhất để ghi VCD thành file mpeg là dùng K3b.


Mở K3b và nhấn vào Tools → Rip Video CD.






VLC cũng có thể dùng để chuyển VCD sang một format khác.


Mở VLC, nhấn vào Media → Convert/Save.


Hướng dẫn chi tiết về chuyển định dạng file media bằng VLC xem tại đây



I.4 Tách audio từ VCD


Dùng VLC có thể tách file audio khỏi VCD. Nhấn vào Media → Convert/Save để mở màn hình sau:



Nhấn tiếp vào tab Audio codec rồi đánh dấu chọn mục Audio. Ở ô Codec, chọn định dạng file audio sẽ ghi lại (ví dụ MP3). Gõ tên file có cả đuôi file (ví dụ: song.mp3) vào ô Filename rồi nhấn nút Save.



II.Xử lý DVD


II.1 Xem DVD trên Linux.


Ubuntu không cho phép chơi DVD do các vấn đề pháp lý và kỹ thuật. Phải cài thêm gói ubuntu-restricted-extra rồi chạy file script libdvdread3 bằng lệnh:


sudo /usr/share/doc/libdvdread3/install-css.sh


Khi đó, file libdvdcss2 sẽ được tải về và cài. Nếu vì lí do gì mà lệnh trên không chạy, tải file libdvdcss2 từ địa chỉ sau để cài.


http://download.videolan.org/pub/libdvdcss/1.2.9/deb/libdvdcss2_1.2.9-1_i386.deb



II.2 Rip DVD


Để rip DVD, cá nhân tôi dùng Handbrake. Chương trình này có một số profile định trước (Presets) kể cả convert DVD thành format mong muốn cho iPhone và PS3.


Để cài Handbrake trên Ubuntu, tải file cài tại đây. Màn hình như sau:



Còn một chương trình khác là AcidRip. Chương trình này có một số tính năng có ích nhưng sắp xếp hơi lộn xộn. Chương trình có trong kho phần mềm của Ubuntu nên cài đặt dễ dàng.




II.3 Tạo DVD (DVD authoring)


Bạn có thể tạo DVD riêng với menu, các chương, v.v.. Hai trong số những chương trình tốt nhất tôi đã thử là DeVeDeManDVD. Cá nhân tôi thích ManDVD hơn vì có nhiều tuỳ chọn và có hướng dẫn chi tiết từng bước suốt quá trình tạo DVD. Nhưng nếu bạn tìm một phần mềm dùng nhanh mà không cần cấu hình nhiều thì chọn DeVeDe.


Để cài ManDVD, tải file deb về tại đây GetDeb. DeVeDe có sẵn trong kho phần mềm của Ubuntu nên cài dễ dàng. DeVeDe cũng có thể dùng để tạo VCD.




III. Xử lý file Video.


III.1 Chuyển đổi file từ format này sang format khác.


Handbrake và VLC đều có thể chuyển đổi file video từ định dạng này sang định dạng khác. Nhưng cũng có một phần mềm nhỏ chuyên làm việc đó là Winff làm việc với phần lớn định dạng file video.


Hướng dẫn cài đặt xem ở đây.




III.2 Biên tập file video


Avidemux, KinoKDEnlive là ba chương trình biên tập video lớn vừa mạnh vừa dễ dùng. Avidemux chạy trên nền Gnome, còn Kino và KDEnlive chạy trên KDE.



III.3 Biên tập thuyết minh


Hai chương trình Gnome-subtitlesAegisub là hai chương trình đơn giản dùng biên tập thuyết minh. Gnome-subtitles đơn giản và nhẹ dùng soạn, sửa đơn giản các thuyết minh (có sẵn trong kho phần mềm Ubuntu). Aegisub có nhiều tính năng hơn như kéo thả, xoay, thu phóng thuyết minh và cả một bản mẫu (template) để làm karaoke.




III.4 Chèn thuyết minh vào file video.


Có hai cách chèn thuyết minh vào file video: Softsub và Hardsub. Softsub là các thuyết minh chứa trong một file riêng đánh dấu kèm theo mốc thời gian cần hiển thị khi chạy file video và thường được điều khiển bởi phần mềm chơi video. Hardsub là thuyết minh hòa vào khung hình video gốc nên không cần thiết bị hoặc phần mềm đặc biệt để hiển thị.


Khi file video có file thuyết minh riêng (Softsub), chương trình VLC có tính năng tải file thuyết minh để xem. Nhấn vào menu Tools → Preferences. Trong màn hình Preferences (xem hình dưới), mục Show Settings chọn All. Trong cột trái màn hình, kích vào Video → Subtitles/OSD. Trong cột bên phải, mục Use subtitle file, nhấn nút Browse để chọn file thuyết minh.




Để tạo thuyết minh dạng Hardsub, có thể dùng Avidemux để nhúng file thuyết minh vào video. Trên màn hình chính của Avidemux, chọn encoder của video. Mở file video rồi nhấn vào menu Video → Filters. Trong cột bên trái màn hình xuất hiện, chọn Subtitles. Chọn các option thích hợp của thuyết minh rồi add nó vào Active Filters.




IV. Xử lý file audio.


IV.1 Tách file audio CD.


Trong Gnome, chương trình SoundJuicer dùng để tách và chuyển file audio CD thành định dạng khác. Trong KDE, dùng K3b.


Muốn chuyển thành định dạng nào, trước đó codecs tương ứng phải được cài đặt.



IV.2 Tạo audio CD.


Brasero và K3b đều có thể dùng tạo audio CD. Chọn Create audio CD rồi kéo thả file nhạc vào đó. File sẽ được tự động convert thành audio CD format.



IV.3 Chuyển file audio từ định dạng này sang định dạng khác.


Chương trình Sound-converter hỗ trợ chuyển đổi phần lớn định dạng audio.



IV.4 Biên tập file audio.


Audacity là chương trình tốt nhất để biên tập file audio. Nó cũng dùng để chuyển đổi file audio từ dạng này sang dạng khác.