Kho tháng 5/2006

Thứ tư, 31 Tháng năm năm 2006 23:01:11 ICT

Dùng gstreamer để trích phần tiếng trong định dạng flv

Cần có plugin ffmpeg cho gstreamer. Sau đó dùng một trong hai lệnh sau (như nhau):

gst-launch-0.10 -m filesrc location=tập-tin-flv ! typefind ! ffdemux_flv name=demuxer demuxer. ! decodebin ! audioconvert ! vorbisenc ! oggmux !  filesink location=tập-tin-ogg demuxer. ! queue ! ffdec_flv ! fakesink

gst-launch-0.10 -m filesrc location=tập-tin-flv ! typefind ! ffdemux_flv name=demuxer demuxer. ! queue ! ffdec_flv ! fakesink demuxer. ! decodebin !  audioconvert ! vorbisenc ! oggmux ! filesink location=tập-tin-ogg

Dĩ nhiên thay tập-tin-flv là tập tin đầu vào còn tập-tin-ogg là tập tin đầu ra dạng ogg

Kinh nghiệm xương máu khi xử lý các tập tin có cả âm thanh và hình ảnh là cần có một thành phần demux và cần phải dùng queue (với trường hợp trên, phải dùng queue với phần hình, không thể dùng với phần tiếng).


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ tư, 31 Tháng năm năm 2006 22:34:27 ICT

Cần ngừng sử dụng LD_PRELOAD

emerge pam thất bại vì trong khi cài đặt, portage kiểm tra xem các module pam có liên quan gì đến /usr/lib hay không. Đáng buồn là lại đặt LD_PRELOAD=/usr/lib/xvnkb.so vào /etc/profile.

Dĩ nhiên đây là cách làm sai lầm, nhưng nó chỉ ra rằng LD_PRELOAD có thể dẫn đến những vấn đề nghiêm trọng cho hệ thống (lỗi người dùng hay lỗi ai đi nữa thì hệ thống vẫn tỏi). xvnkb dưới dạng LD_PRELOAD cần phải ra đi, thay vào đó là một cơ chế khác an toàn hơn.


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Chủ nhật, 28 Tháng năm năm 2006 23:19:42 ICT

Biết xài sudo rồi

Thêm vào /etc/sudoers dòng:

pclouds ALL=(root) ALL

để cho phép pclouds chạy bất cứ lệnh nào bằng root. Với

pclouds ALL=(ALL) ALL

thì có thể chạy bằng bất kỳ user nào. Thích ràng buộc chặt hơn thì:

pclouds ALL=(root) NOPASSWD:/usr/bin/patch,NOPASSWD:/bin/rpm,NOPASSWD:/bin/mount,NOPASSWD:/bin/cp,NOPASSWD:/bin/umount,NOPASSWD:/usr/bin/install,NOPASSWD:/bin/rm,NOPASSWD:/bin/mv,NOPASSWD:/bin/tar,NOPASSWD:/bin/cpio,NOPASSWD:/bin/chown,NOPASSWD:/bin/mkdir,NOPASSWD:/usr/bin/strip,NOPASSWD:/bin/mknod

thì sẽ chạy được một loạt các lệnh trên mà không cần mật mã của pclouds (cần mật mã thì dùng PASSWD thay vì NOPASSWD). Cuối cùng, cho phép mọi user trong nhóm wheel được phép sudo:

%wheel ALL=(ALL) ALL

hoặc mạo hiểm hơn, cho dùng không cần cả mật mã của user:

%wheel ALL=(ALL) NOPASSWD: ALL

sudo khá mạnh nên an toàn nhất là cho phép từng user một, từng lệnh một cho chắc ăn.

Tuy nhiên trong /etc/sudoers mẫu có vài ví dụ khá hữu dụng

%users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
%wheel localhost=/sbin/shutdown -h now

Hai dòng trên cho phép mọi user dùng mount và unmount /cdrom (đoán thế). Dòng còn lại cho phép user nhóm wheel được phép tắt máy localhost (cũng đoán luôn).

Cách tìm hiểu thêm về sudo là (dĩ nhiên)

man sudoers

nhưng đừng có đọc ngay mà kéo xuống phần EXAMPLES (tìm chữ EXAMPLES đứng đầu dòng bằng regex) rồi coi từ đó.


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Chủ nhật, 28 Tháng năm năm 2006 00:02:40 ICT

màu của perl

Bài toán đơn giản: cắt các khoảng trắng cuối dòng. Khoảng năm sáu giải pháp bằng perl được đưa ra, từ một script kềnh càng đến một dòng duy nhất. Và giải pháp là .. dùng C :D

[SCRIPT] chomp: trim trailing whitespace


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ bảy, 27 Tháng năm năm 2006 00:01:30 ICT

Ký hiệu trong git

git có hai loại ký hiệu là refrev. ref bao gồm tên nhánh và tag (nằm tất cả trong .git/refs, đôi khi thêm trong .git/remotes). Trong khi đó rev dùng để chỉ revision của một đối tượng. rev được chuyển thành SHA1 thông qua git rev-parse. Để tạo "ký hiệu rev" thì dùng git name-rev. Còn git describe dùng ref để đánh dấu một commit nào đấy đẹp hơn là dùng SHA1.


Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh | Git

Thứ sáu, 26 Tháng năm năm 2006 19:47:06 ICT

Mâu thuẫn

Đã nghỉ việc, nhưng không thể gọi là thất nghiệp. Ha ha ha :D


Cập nhật 1 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ năm, 25 Tháng năm năm 2006 18:31:19 ICT

diff màu mè

Dùng colordiff thì hết sức màu mè, nhưng vẫn bị hạn chế diff theo dòng

Dùng cdif thì diff theo từ hoặc ký tự, nhưng không được màu mè :(


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ tư, 24 Tháng năm năm 2006 14:43:30 ICT

Google Trends, Việt Nam và "sex"

Theo Google Trends, Việt Nam đứng thứ 3 trong số các khu vực kiếm chữ "sex". Xét theo ngôn ngữ thì VN đứng đầu. Ôi Việt Nam..


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ tư, 17 Tháng năm năm 2006 15:55:58 ICT

Dùng esd từ xa

Phía server chạy:

esd -tcp -public

Phía client, dùng

esddsp -s <địa chỉ server> <lệnh cần chạy để nghe nhạc>

Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ ba, 16 Tháng năm năm 2006 10:06:09 ICT

tcptee..

là một chương trình hoạt động như tee nhưng không với stdin/stdout mà với tcp connection. Sao trước giờ không nghĩ ra tên này nhỉ? Google thôi.


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Sat May 13 16:10:41 UTC 2006

Thử acts_as_taggable

.. nhằm phiên bản cũ của acts_as_taggable. Cực như trâu. Bỏ.


Cập nhật 3 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh

Thứ tư, 03 Tháng năm năm 2006 18:45:40 ICT

GNOME and trash

GNOME usually do not allow you to move a file from another partition (different from $HOME/.Trash's partition). To allow it to move to trash, create a new directory named .Trash-<username> in the root of that partition (with proper permission of course). Then you can move files from that partition to "trash".


Cập nhật 2 lần. Lần cuối: Tue Aug 08 11:22:15+0011 2017

Tác giả: pclouds | Liên kết tĩnh