HICTE Blog – Telegram
HICTE Blog
1.18K subscribers
382 photos
126 videos
8 files
616 links
گروهمون: @HicteGroup

دسته بندی پست‌ها: t.me/HicteBlog/743
Download Telegram
#ابزار_لینوکس

کاهش حجم ویدئو با حفظ کیفیت تا جای نسبتا ممکن با ffmpeg

ffmpeg -i input.mp4 -vcodec libx265 -crf 20 output.mp4

گدرت این ابزار فراتر از دانش امثال منه

🚁 Hicte Blog
👌6
#گوناگون

از دوستان اگه کسی روی ویندوز gcc داره
قطعه کد پایین رو تست کنه ببینه output کنسول رو پاک میکنه یا نه.
printf("\e[1;1H\e[2J");

مثلا
#include <stdio.h>

int main() {
printf("prev");
printf("\e[1;1H\e[2J");
printf("next");

return 0;
}

نتیجه رو توی کامنت اطلاع بدید. بوس🙏

🚁 Hicte Blog
HICTE Blog
#ابزار_لینوکس کاهش حجم ویدئو با حفظ کیفیت تا جای نسبتا ممکن با ffmpeg ffmpeg -i input.mp4 -vcodec libx265 -crf 20 output.mp4 گدرت این ابزار فراتر از دانش امثال منه 🚁 Hicte Blog
#نکته_لینوکس

یه میانبر برای تنبل‌ها توی fish

توی ترمینال تابع پایین رو مینویسیم:
[حالا به هر اسمی که دوست داشتین. من اسمش رو vcmprs گذاشتم
که مثلا مخفف video compress هست D:]
function vcmprs
set path $argv[1]
set name (string split '/' $path)[-1]
ffmpeg -i $path -vcodec libx265 -crf 20 cmprsd-$name
end
و برای اینکه همیشه داشته باشیمش سیوش میکنیم:
funcsave vcmprs
حالا برای اینکه یه ویدئو رو فشرده کنیم فقط مینویسیم:
vcmprs path_to_vid.mp4
بجای path_to_vid.mp4 مسیر نسبی یا مطلق فایلمون رو مینوسیم.
ویدئوی فشرده شده هم با پیشوند -cmprsd تو دایرکتوری فعلی که command رو اجرا کردیم ذخیره میشه.
[که مثلا مخفف compressed هست D:]

آرگومان‌هایی که تابع موقع اجرا میگیره توی آرایه‌ای به اسم argv میره.
ما یه آرگومان بیشتر نمیخوایم و بهش بیشتر نمیدیم پس خونه‌ی اول این آرایه رو میخوایم.
[توی fish ایندکس‌های آرایه از 1 شروع میشه :D]
پس الان برای اینکه فایلمون رو به ffmpeg بدیم بهش مقدار داخل argv[1] رو میدیم.
برای اینکه noscriptمون یه مقدار تر و تمیزتر باشه میایم مقدار داخل argv[1] رو تو یه متغیر به اسم path میذاریم.
علامت $ قبل اسم یه متغیر یعنی مقدار داخل اون متغیر.
برای اختصاص یه مقدار به یه متغیر از کلیدواژه‌ی set استفاده میکنیم.
پس میشه:
set path $argv[1]
حالا میخوایم خروجی ffmpeg یه فایلی با یه پیشوند + اسم همون فایل ورودی باشه.
میایم از string split که توی fish داریم استفاده میکنیم
و میگیم آرگومان ورودی‌مون که یه رشته هست رو بر اساس / جدا کنه.
شاید بپرسین چرا؟
خب رشته‌ی ما مسیر یه فایل هست که میتونه به صورت:
dir1/dir2/dir3/file.mp4
باشه. من خواستم فایل خروجی توی دایرکتوری‌ای که هستم و command رو اجرا میکنم ذخیره بشه.
پس باید file.mp4 رو از این رشته جدا کنم.
حالا string split به ما یه آرایه از قطعات جدا شده‌ی رشته‌ی اصلی میده.
ما خونه‌ی آخر این آرایه رو میخوایم و برای دسترسی بهش ایندکس رو 1- میدیم [مثل پایتون D:]
و اون رو داخل یه متغیر به اسم name میذاریم.
حالا توی یه خط دستورات ffmpeg میایم مقادیر متغیرهامون رو جایگذاری میکنیم.
خوشبختانه fish زبون نفهم نیست و خودش مقدار داخل name رو به cmprsd- میچسبونه.

🚁 Hicte Blog
👍5👎1🐳1
😍31
HICTE Blog
🚁 Hicte Blog
#رایس

اگه دوست دارین شمایل neofetch رو از حالت پیشفرض تغییر بدید میتونید themeهای مختلفی رو روش اعمال کنید.
اسم themeی که توی عکس میبینید [عکس پایینی] و من ازش استفاده میکنم ozozfetch هست که از اینجا میتونید دانلودش کنید. [با تشکر از Pink Orca بابت معرفیش.]
خب برای نصب این theme باید چیکار کنید؟
فایلش کانفیگش رو از لینکی که دادم دانلود میکنید.
اول یه backup از کانفیگ فعلی neofetch میگیرید.
به محل قرار گیری کانفیگ neofetch میریم:
cd ~/.config/neofetch
و فایل پیشفرض رو توی یه فایل به اسم config.conf.org کپی میکنیم:
cp config.conf config.conf.org
و این میشه بک آپمون.
خب حالا فایلی که دانلود کرده بودیم رو جایگزین کانفیگ فعلی میکنیم:
cp path_to_ozozfetch config.conf
و بجای path_to_ozozfetch آدرس محل قرارگیری فایلی که دانلود کردیم روی سیستممون رو میذاریم.
یه ترمینال جدید باز میکنیم و neofetch رو اجرا میکنیم.
اگه آیکون‌ها رو نشون نمیده و بجاش کاراکترای عجیب غریب نشون میده باید این بسته رو نصب کنید.
پس دستور زیر رو مینویسیم:
sudo pacman -S ttf-nerd-fonts-symbols-2048-em-mono
اگه توزیعتون چیزی غیر آرچ هست کامنت بذارید اسم بسته‌ رو پیدا کنیم برای توزیعتون.

🚁 Hicte Blog
👍51
This media is not supported in your browser
VIEW IN TELEGRAM
#ابزار_لینوکس

با pv اینطوری مسخره بازی در بیارید:
neofetch | pv -qL 50
🚁 Hicte Blog
🤩4👍1
HICTE Blog
#ابزار_لینوکس با pv اینطوری مسخره بازی در بیارید: neofetch | pv -qL 50 🚁 Hicte Blog
همینا رو هالیوود میگیره به عنوان پروسه هک ناسا به نمایش در میاره 😐😂
👍4😁2
This media is not supported in your browser
VIEW IN TELEGRAM
#معرفی

و گل سرسبد این جنگولک بازی‌ها eDEX-UI
A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.
لینک گیتهاب پروژه

🚁 Hicte Blog
👍32😍1
#متفرقه_لینوکس

داستان عجیب شده 😐😳
فیش چه پدرکشتگی با
echo -s[sss...]
داره؟
🚁 Hicte Blog
🤯3🤔1
HICTE Blog
#متفرقه_لینوکس داستان عجیب شده 😐😳 فیش چه پدرکشتگی با echo -s[sss...] داره؟ 🚁 Hicte Blog
خب مشکل سراسریه
پیاده سازی echo توی bash آپشن s- نداشت. [اشاره به تصویر پست قبل که s- رو نمایش داد بر خلاف فیش]
ولی آپشن‌هایی که داره همین رفتار رو دارن.
و تصویر این پست هم از نسخه‌ی GNU coreutils هست.

🚁 Hicte Blog
👍4
HICTE Blog
و فراترتر 🚁 Hicte Blog
تا به الان رسیدم به اینجا که کرم از یه جای getopt هست.
و fish هم از wgetopt استفاده میکنه که از روی همین getopt نوشتنش.
و مشکل هم مختص fish نیست.

الان بحث اینه که خب قبول x- به عنوان آپشنت تعیین شده. دیگه چرا xxxx- رو چهار بار از x- میدونی😐.

🚁 Hicte Blog
👌3
HICTE Blog
تا به الان رسیدم به اینجا که کرم از یه جای getopt هست. و fish هم از wgetopt استفاده میکنه که از روی همین getopt نوشتنش. و مشکل هم مختص fish نیست. الان بحث اینه که خب قبول x- به عنوان آپشنت تعیین شده. دیگه چرا xxxx- رو چهار بار از x- میدونی😐. 🚁 Hicte Blog
سورسش رو نخوندم ولی تئوری اینه که سر الگوریتم خوندن آپشن اومدن شرط تموم شدنش رو تا رسیدن به اسپیس کردن.
یعنی با یک - بشه چند تا آپشن رو مشخص کرد.
برای استفاده از ترکیب آپشنا.
مثال:
makepkg -sirc PKGBUILD
makepkg -s -i -r -c PKGBUILD

پس
echo -nnnn
نمیشه یه n- و یه nnn
میشه
echo -n -n -n
و خب وقتی n- رو میبینه اون رو آپشن خودش در نظر میگیره و چیز دیگه‌ای فکر نمیکنه.

🚁 Hicte Blog
👌3
This media is not supported in your browser
VIEW IN TELEGRAM
#فان

سوال بعدی رو نباید با yes/no جواب میداد😐😂

🚁 Hicte Blog
🤣5😐1
#نکته_لینوکس

اگه قارچ لینوکس دارید و آپگرید کردید و از QV2ray استفاده میکردید و الان باز نمیشه.
خطایی که میده هم اینه:
qv2ray: error while loading shared libraries: libre2.so.9: cannot open shared object file: No such file or directory
دو راه دارید یا از
/var/cache/pacman/pkg/
بیاید ورژن قبلی پکیج re2 رو در بیارید یا اگه مثل من براتون پاک شده بود بیاین از اینجا سورسش رو دانلود کنید.
بعد فایل فشرده رو extract کنید و با ترمینال برید داخل دایرکتوری مورد نظر.
حالا دستور make رو بزنید و صبر کنید تموم شه.
بعد دستور پایین رو بزنید:
sudo cp obj/so/libre2.so.9 /usr/lib/
حالا QV2ray رو باز کنید :)
پی نوشت: خیلی وقت هست ورژن جدیدی از QV2ray نیومده و این مشکلات رخ میده براش.

🚁 Hicte Blog
👍3