| metaflac(1) | ابزار فراداده کدک صوتی بیاتلاف آزاد (FLAC) | metaflac(1) |
نام (NAME)
metaflac - برنامهای برای فهرست کردن، افزودن، حذف یا ویرایش فراداده در یک یا چند فایل FLAC.
خلاصه دستور (SYNOPSIS)
metaflac [ options ] [ operations ] FLACfile ...
توضیحات (DESCRIPTION)
از metaflac برای فهرست کردن، افزودن، حذف یا ویرایش فراداده در یک یا چند فایل FLAC استفاده کنید. میتوانید در هر بار یک عملیات اصلی یا چندین عملیات کوتاهنویسی را انجام دهید.
کاربرد کلی (GENERAL USAGE)
دستور metaflac ویرایشگر خط فرمانی فراداده فایلهای .flac است. میتوانید از آن برای فهرست کردن محتوای بلوکهای فراداده، ویرایش، حذف یا درج بلوکها و مدیریت پدینگ (padding) استفاده کنید.
دستور metaflac مجموعهای از “گزینهها” (اگرچه برخی از آنها اختیاری نیستند) و مجموعهای از فایلهای FLAC را برای انجام عملیات دریافت میکند. سه نوع “گزینه” وجود دارد:
- •
- عملیات اصلی (Major operations) که حالت عملیات را مانند فهرست کردن بلوکها، حذف بلوکها و غیره مشخص میکنند. این موارد زیرعملیاتی دارند که دقیقاً مشخص میکنند چه کاری باید انجام شود.
- •
- عملیات کوتاهنویسی (Shorthand operations) که مترادفهای راحتی برای عملیات اصلی هستند. به عنوان مثال، یک عملیات کوتاهنویسی به نام --show-sample-rate وجود دارد که فقط فیلد نرخ نمونهبرداری (sample rate) را از بلوک فراداده STREAMINFO نمایش میدهد.
- •
- گزینههای عمومی (Global options) که بر تمام عملیات تأثیر میگذارند.
تمام این موارد در بخشهای زیر شرح داده شدهاند. باید حداقل یک عملیات اصلی یا یک عملیات کوتاهنویسی ارائه شود. میتوانید از چندین عملیات کوتاهنویسی برای انجام چند کار روی یک فایل یا مجموعهای از فایلها استفاده کنید. بیشتر کارهای رایج روی فرادادهها دارای عملیات کوتاهنویسی هستند. به عنوان مثال، در اینجا نحوه نمایش امضاهای MD5 برای مجموعهای از سه فایل FLAC آمده است:
metaflac --show-md5sum file1.flac file2.flac file3.flac
مثالی دیگر؛ این دستور تمام برچسبهای DESCRIPTION و COMMENT را در مجموعهای از فایلهای FLAC حذف کرده و از گزینه عمومی --preserve-modtime برای حفظ زمان تغییر فایلهای FLAC استفاده میکند (معمولاً هنگام ویرایش فایلها، زمان تغییر آنها به زمان جاری تنظیم میشود):
metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac
گزینهها (OPTIONS)
- -o filename, --output-name=filename
- خروجی را به جای تغییر یا بازنویسی فایل ورودی، در یک فایل جدید مینویسد.
- --preserve-modtime
- زمان تغییر اصلی فایل را با وجود ویرایشها حفظ میکند. این گزینه در صورت مشخص شدن -o یا –output-name هیچ کاری انجام نمیدهد.
- --with-filename
- نام فایل FLAC را در ابتدای هر خط خروجی قرار میدهد (پیشفرض در صورتی که بیش از یک فایل FLAC مشخص شده باشد). این گزینه بر گزینههایی که به یک فایل خروجی صادر میکنند، مانند --export-tags-to، بیتأثیر است.
- --no-filename
- نام فایل FLAC را در ابتدای خطوط خروجی قرار نمیدهد (پیشفرض در صورتی که تنها یک فایل FLAC مشخص شده باشد).
- --no-utf8-convert
- برچسبها را از UTF-8 به مجموعه نویسههای محلی یا برعکس تبدیل نمیکند. این گزینه برای اسکریپتها و مقداردهی برچسبها در شرایطی که locale نادرست است مفید خواهد بود.
- --dont-use-padding
- بهطور پیشفرض metaflac تلاش میکند تا در صورت امکان از لایهگذاری (padding) استفاده کند تا در صورت تغییر اندازه فراداده، از بازنویسی کل فایل جلوگیری شود. با استفاده از این گزینه به metaflac دستور داده میشود که بدین شیوه از لایهگذاری استفاده نکند.
عملیات کوتاهنویسی (SHORTHAND OPERATIONS)
- --show-md5sum
- امضای MD5 را از بلوک STREAMINFO نمایش میدهد.
- --show-min-blocksize
- حداقل اندازه بلوک را از بلوک STREAMINFO نمایش میدهد.
- --show-max-blocksize
- حداکثر اندازه بلوک را از بلوک STREAMINFO نمایش میدهد.
- --show-min-framesize
- حداقل اندازه فریم را از بلوک STREAMINFO نمایش میدهد.
- --show-max-framesize
- حداکثر اندازه فریم را از بلوک STREAMINFO نمایش میدهد.
- --show-sample-rate
- نرخ نمونهبرداری را از بلوک STREAMINFO نمایش میدهد.
- --show-channels
- تعداد کانالها را از بلوک STREAMINFO نمایش میدهد.
- --show-bps
- تعداد بیت در هر نمونه را از بلوک STREAMINFO نمایش میدهد.
- --show-total-samples
- تعداد کل نمونهها را از بلوک STREAMINFO نمایش میدهد.
- --show-vendor-tag
- رشته سازنده (vendor string) را از بلوک VORBIS_COMMENT نمایش میدهد.
- --show-tag=name
- تمام برچسبهایی را که نام فیلد آنها با `name' مطابقت دارد نمایش میدهد.
- --show-all-tags
- تمام برچسبها را نمایش میدهد. این گزینه نام مستعاری برای --export-tags-to=- است.
- --remove-tag=name
- تمام برچسبهایی را که نام فیلد آنها `name' است حذف میکند.
- --remove-first-tag=name
- اولین برچسبی را که نام فیلد آن `name' است حذف میکند.
- --remove-all-tags
- تمام برچسبها را حذف کرده و فقط رشته vendor را باقی میگذارد.
- --remove-all-tags-except=NAME1[=NAME2[=...]]
- تمام برچسبها را بهجز رشته vendor و نامهای مشخصشده برچسب حذف میکند. نامهای برچسب باید با نویسه = از یکدیگر جدا شوند.
- --set-tag=field
- یک برچسب اضافه میکند. فیلد باید با مشخصات کامنت Vorbis، به صورت “NAME=VALUE” مطابقت داشته باشد. اگر در حال حاضر بلوک برچسبی وجود نداشته باشد، یکی ایجاد خواهد شد.
- --set-tag-from-file=field
- مشابه --set-tag عمل میکند، با این تفاوت که VALUE یک نام فایل است که محتوای آن عیناً برای مقدار برچسب خوانده میشود. مگر اینکه --no-utf8-convert مشخص شده باشد، محتوا از مجموعه نویسههای محلی به UTF-8 تبدیل خواهد شد. این مورد میتواند برای ذخیره یک cuesheet در برچسب استفاده شود (مثلاً --set-tag-from-file=“CUESHEET=image.cue”). سعی نکنید دادههای باینری را در فیلدهای برچسب ذخیره کنید! برای این منظور از بلوکهای APPLICATION استفاده کنید.
- --import-tags-from=file
- برچسبها را از یک فایل وارد میکند. از `-' برای stdin استفاده کنید. هر خط باید به صورت NAME=VALUE باشد. در حال حاضر کامنتهای چندخطی پشتیبانی نمیشوند. در صورت لزوم، قبل از --import-tags-from گزینههای --remove-all-tags و/یا --no-utf8-convert را مشخص کنید. اگر FILE مقدار `-' (ورودی استاندارد) باشد، تنها یک فایل FLAC میتواند مشخص شود.
- --export-tags-to=file
- برچسبها را به یک فایل صادر میکند. از `-' برای stdout استفاده کنید. هر خط به صورت NAME=VALUE خواهد بود. در صورت لزوم --no-utf8-convert را مشخص کنید.
- --import-cuesheet-from=file
- یک cuesheet را از یک فایل وارد میکند. از `-' برای stdin استفاده کنید. تنها یک فایل FLAC میتواند مشخص شود. به ازای هر نقطه شاخص (index point) در cuesheet یک نقطه جستجو (seekpoint) به SEEKTABLE اضافه میشود مگر اینکه --no-cued-seekpoints مشخص شده باشد.
- --export-cuesheet-to=file
- بلوک CUESHEET را به یک فایل cuesheet صادر میکند که برای استفاده در نرمافزارهای رایت CD مناسب است. از `-' برای stdout استفاده کنید. تنها یک فایل FLAC میتواند در خط فرمان مشخص شود.
- --import-picture-from={FILENAME|SPECIFICATION}
- یک تصویر را وارد کرده و در یک بلوک فراداده PICTURE ذخیره میکند. بیش از یک دستور --import-picture-from میتواند مشخص شود. میتوان از یک نام فایل برای فایل تصویر یا از یک قالب مشخصات کاملتر استفاده کرد. مقدار SPECIFICATION رشتهای است که بخشهای آن با نویسه | (pipe) از هم جدا شدهاند. برخی بخشها میتوانند خالی رها شوند تا از مقادیر پیشفرض استفاده شود. مقدار FILENAME صرفاً حالت کوتاهنویسی برای “||||FILENAME” است. برای جزئیات درباره مشخصات، بخش Picture specification را در صفحه راهنمای flac(1) ببینید.
- --export-picture-to=file
- بلوک PICTURE را به یک فایل صادر میکند. از `-' برای stdout استفاده کنید. تنها یک فایل FLAC میتواند در خط فرمان مشخص شود. اولین بلوک PICTURE صادر خواهد شد مگر اینکه پیش از --export-picture-to گزینه --block-number=# مشخص شود تا بلوک فراداده دقیق جهت استخراج تعیین گردد. توجه داشته باشید که شماره بلوک همان شمارهای است که توسط --list نمایش داده میشود.
- --add-replay-gain
- میزان بهره/اوج (gain/peak) عنوان و آلبوم فایلهای FLAC دادهشده را بهگونهای محاسبه میکند که گویی تمام فایلها بخشی از یک آلبوم بودهاند، سپس آنها را به عنوان برچسبهای FLAC ذخیره مینماید. برچسبها مشابه مواردی هستند که توسط vorbisgain استفاده میشوند. برچسبهای موجود ReplayGain جایگزین خواهند شد. اگر تنها یک فایل FLAC داده شود، مقادیر بهره آلبوم و عنوان یکسان خواهد بود. از آنجا که این عملیات به دو گذر (pass) نیاز دارد، همواره در پایان و پس از اتمام تمام عملیات دیگر و نوشتن روی دیسک اجرا میشود. تمام فایلهای FLAC مشخصشده باید دارای تفکیکپذیری، نرخ نمونهبرداری و تعداد کانالهای یکسان باشند. تنها فایلهای مونو و استریو مجاز هستند و نرخ نمونهبرداری باید یکی از مقادیر 8، 11.025، 12، 16، 18.9، 22.05، 24، 28، 32، 36، 37.8، 44.1، 48، 56، 64، 72، 75.6، 88.2، 96، 112، 128، 144، 151.2، 176.4، 192، 224، 256، 288، 302.4، 352.8، 384، 448، 512، 576 یا 604.8 کیلوهرتز باشد.
- --scan-replay-gain
- مشابه --add-replay-gain عمل میکند، اما به جای نوشتن در برچسبها، تنها فایلها را تحلیل میکند.
- --remove-replay-gain
- برچسبهای ReplayGain را حذف میکند.
- --add-seekpoint={#|X|#x|#s}
- نقاط جستجو (seek points) را به یک بلوک SEEKTABLE اضافه میکند. با استفاده از #، یک نقطه جستجو در آن شماره نمونه اضافه میشود. با استفاده از X، یک نقطه نگهدارنده مکان (placeholder) در انتهای جدول اضافه میشود. با استفاده از #x، تعداد # نقطه جستجو با فواصل یکسان اضافه خواهد شد که اولین نقطه در نمونه 0 قرار دارد. با استفاده از #s، یک نقطه جستجو در هر # ثانیه اضافه میشود (# نیازی نیست یک عدد صحیح باشد؛ مثلاً میتواند 9.5 باشد که به معنی یک نقطه جستجو در هر 9.5 ثانیه است). اگر هیچ بلوک SEEKTABLE وجود نداشته باشد، یکی ایجاد خواهد شد. اگر بلوکی وجود داشته باشد، نقاط به جدول موجود اضافه شده و موارد تکراری به نقاط نگهدارنده تبدیل میشوند. میتوانید از چندین گزینه --add-seekpoint استفاده کنید؛ جدول SEEKTABLE حاصل، اجتماع یکتاشدهای از تمام این مقادیر خواهد بود. مثال: --add-seekpoint=100x --add-seekpoint=3.5s تعداد 100 نقطه جستجو با فواصل یکسان و یک نقطه جستجو در هر 3.5 ثانیه اضافه میکند.
- --add-padding=length
- یک بلوک لایهگذاری (padding) با طول دادهشده (به بایت) اضافه میکند. طول کلی بلوک جدید 4 + length خواهد بود؛ ۴ بایت اضافه برای سربرگ بلوک فراداده است.
عملیات اصلی (MAJOR OPERATIONS)
- --list
- محتوای یک یا چند بلوک فراداده را در stdout فهرست میکند. بهطور پیشفرض، تمام بلوکهای فراداده در قالب متنی فهرست میشوند. برای تغییر این رفتار از گزینههای --block-number، --block-type یا --except-block-type استفاده کنید.
- --remove
- یک یا چند بلوک فراداده را از فراداده فایل حذف میکند. از گزینههای --block-number، --block-type یا --except-block-type برای مشخص کردن بلوکهای مورد نظر جهت حذف استفاده کنید. توجه داشته باشید که اگر هر دو گزینه --block-number و --[except-]block-type مشخص شوند، نتیجه عملیات AND منطقی هر دو آرگومان خواهد بود. مگر اینکه --dont-use-padding مشخص شده باشد، بلوکها با لایهگذاری جایگزین میشوند. نمیتوانید بلوک STREAMINFO را حذف کنید.
- --block-number=#[,#[...]]
- فهرست اختیاری جداشده با کاما از شماره بلوکها برای نمایش. اولین بلوک، یعنی بلوک STREAMINFO، بلوک 0 است.
--block-type=type[,type[...]]
- --except-block-type=type[,type[...]]
- فهرست اختیاری جداشده با کاما از انواع بلوکها که با این گزینه گنجانده یا نادیده گرفته میشوند. تنها از یکی از گزینههای --block-type یا --except-block-type استفاده کنید. انواع بلوکهای معتبر عبارتند از: STREAMINFO، PADDING، APPLICATION، SEEKTABLE، VORBIS_COMMENT، PICTURE. میتوانید انواع بلوکهای APPLICATION انتخابشده را با افزودن دونقطه و شناسه بلوک APPLICATION به صورت نمایش ASCII یا هگزادسیمال محدودتر کنید. به عنوان مثال: APPLICATION:abcd برای بلوک(های) APPLICATION که نمایش متنی شناسه ۴ بایتی آن “abcd” است، یا APPLICATION:0xXXXXXXXX برای بلوک(های) APPLICATION که نمایش هگزادسیمال big-endian شناسه ۴ بایتی آن “0xXXXXXXXX” است. برای مثال “abcd” بالا، معادل هگزادسیمال آن 0x61626364 است.
- --application-data-format=hexdump|text
- اگر بلوک کاربردی (application) مورد نمایش حاوی دادههای باینری باشد اما گزینه --data-format=text تنظیم شده باشد، میتوانید با استفاده از --application-data-format=hexdump به جای آن یک تخلیه هگز (hex dump) از محتوای دادههای بلوک را نمایش دهید.
- --data-format=binary|binary-headerless|text
- جهت استفاده همراه با --list. بهطور پیشفرض یک نمایش متنی انسانخوانا از دادهها نمایش داده میشود. میتوانید --data-format=binary را مشخص کنید تا فرم باینری خام هر بلوک فراداده تخلیه شود. برای حذف سربرگ بلوکهای فراداده از خروجی، از جمله شناسه بلوکهای فراداده APPLICATION، گزینه --data-format=binary-headerless را مشخص کنید.
- --append
- یک بلوک فراداده را از یک فایل درج میکند. این بلوک باید یک بلوک باینری صادرشده توسط --list --data-format=binary باشد. نقطه درج با --block-number=# مشخص میشود. بلوک جدید پس از شماره بلوک دادهشده اضافه خواهد شد. این امر از درج غیرقانونی یک بلوک قبل از نخستین بلوک STREAMINFO جلوگیری میکند. نمیتوانید یک بلوک STREAMINFO دیگر را با --append اضافه کنید. با استفاده از این گزینه امکان کپی کردن یک بلوک فراداده از فایلی به فایل دیگر وجود دارد. به عنوان مثال، از دستور زیر برای استخراج بلوک: metaflac --list --data-format=binary --block-number=6 file.flac > block و سپس برای وارد کردن آن از دستور زیر استفاده کنید: metaflac --append anotherfile.flac < block
- --remove-all
- تمام بلوکهای فراداده (بهجز بلوک STREAMINFO) را از فراداده حذف میکند. مگر اینکه --dont-use-padding مشخص شده باشد، بلوکها با لایهگذاری جایگزین خواهند شد.
- --merge-padding
- بلوکهای مجاور PADDING را در یک بلوک ادغام میکند.
- --sort-padding
- تمام بلوکهای PADDING را به انتهای فراداده منتقل کرده و آنها را در یک بلوک واحد ادغام میکند.
همچنین ببینید (SEE ALSO)
| Version 1.5.0 |