From hans at stare.cz Wed Nov 15 08:06:18 2017 From: hans at stare.cz (Jan Stary) Date: Wed, 15 Nov 2017 09:06:18 +0100 Subject: [Vorbis-dev] manpages in mdoc(7) Message-ID: <20171115080618.GA87472@www.stare.cz> Dear authors of Vorbis, currently, the manpages that come with vorbistools are written in the traditional man(7) markup language. I am proposing to rewrite them into the semantic markup of the mdoc(7) language. I am willing to do the work. Both the man(7) and mdoc(7) languages have been around for decades, and are supported by the prevalent formatters: groff(1) on most Linuxes and mandoc(1) on the *BSDs and some others. In particular, there is nothing to install or reconfigure on most systems - both formats can be rendered with man(1) or processed into html or pdf or ps. The main point is that mdoc(7) allows for constructs like .Op Fl f Ar arg meaning there is an optional 'f' flag which takes an 'arg' argument as opposed to switch to italics, type a bracket, a dash, "f", then switch to boldface and type "arg" in the physical roff markup of man(7). Similarly for other constructs like cross-referenes, filenames, author emails, env variables, etc. See http://mdocml.bsd.lv for a thorough discussion of the many benefits of such a markup - most important of which is better readability and writability. See below for a rewrite of ogginfo.1 as an example of what I have in mind. Please let me know if you are interested. Jan .Dd November 15, 2017 .Dt OGGINFO 1 .Os .Sh NAME .Nm ogginfo .Nd information about Ogg files and extensive validity checking .Sh SYNOPSIS .Nm .Op Fl h .Op Fl q .Op Fl v .Ar .Sh DESCRIPTION .Nm reads one or more Ogg files and prints information about stream contents (including chained and/or multiplexed streams) to standard output. It will detect (but not correct) a wide range of common defects, with many additional checks specifically for Ogg Vorbis streams. .Pp For all stream types, .Nm will print the filename being processed, the stream serial numbers, and various common error conditions. .Pp For Vorbis streams, information including the version used for encoding, the sample rate and number of channels, the bitrate and playback length, and the contents of the comment header are printed. .Pp Similarly, for Theora streams, basic information about the video is provided, including frame rate, aspect ratio, bitrate, length, and the comment header. .Pp The options are as follows: .Bl -tag -width Ds .It Fl h Show a help and usage message. .It Fl q Quiet mode. This may be specified multiple times. Doing so once will remove the detailed informative messages, twice will remove warnings as well. .It Fl v Verbose mode. At the current time, this does not do anything. .El .Sh SEE ALSO .Xr ogg123 1 , .Xr oggdec 1 , .Xr oggenc 1 , .Xr vorbiscomment 1 .Sh AUTHORS .An Michael Smith Aq Mt msmith at xiph.org From hans at stare.cz Wed Nov 15 08:10:26 2017 From: hans at stare.cz (Jan Stary) Date: Wed, 15 Nov 2017 09:10:26 +0100 Subject: [Vorbis-dev] update links in manpages Message-ID: <20171115081026.GA74890@www.stare.cz> Diff below. Jan diff --git a/ogg123/ogg123.1 b/ogg123/ogg123.1 index 3543ed4..b4a4504 100644 --- a/ogg123/ogg123.1 +++ b/ogg123/ogg123.1 @@ -159,7 +159,7 @@ and "hw:1" for the second. The alsa driver normally chooses one of "surround40" or "default" automatically depending on number of output channels. For more information, -see http://alsa.opensrc.org/ALSA+device+labels +see https://alsa.opensrc.org/ALSA_device_labels .IP period_time:value Override the default hardware period size (in microseconds). .IP period_time:value diff --git a/vorbiscomment/vorbiscomment.1 b/vorbiscomment/vorbiscomment.1 index 42c8f6e..0211b46 100644 --- a/vorbiscomment/vorbiscomment.1 +++ b/vorbiscomment/vorbiscomment.1 @@ -89,7 +89,7 @@ To add a set of comments from the standard input: .SH TAG FORMAT -See http://xiph.org/vorbis/doc/v-comment.html for documentation on the Ogg Vorbis tag format, including a suggested list of canonical tag names. +See https://xiph.org/vorbis/doc/v-comment.html for documentation on the Ogg Vorbis tag format, including a suggested list of canonical tag names. .SH AUTHORS From hans at stare.cz Wed Nov 15 11:07:36 2017 From: hans at stare.cz (Jan Stary) Date: Wed, 15 Nov 2017 12:07:36 +0100 Subject: [Vorbis-dev] vcut(1) and its manpage Message-ID: <20171115110735.GA18501@www.stare.cz> Below is a diff to vcut.c and its vcut.1 manpage, which - rewrites the manpage in the mdoc(7) markup as offered in my previous message, and while there: - drops the [] around cutpoint as it is _not_ optional - adds the [] around [+] as it _is_ optional - drops the argument name difference between "cutpoint" and "cuttime" - adds the usage sentence about "." output names to the manpage - tweaks the usage printf accordingly Jan diff --git a/vcut/vcut.1 b/vcut/vcut.1 index 84761b9..1d50d67 100644 --- a/vcut/vcut.1 +++ b/vcut/vcut.1 @@ -1,30 +1,30 @@ -.\" Process this file with -.\" groff -man -Tascii vcut.1 -.\" -.TH VCUT 1 "2003 September 1" "Xiph.Org Foundation" "Vorbis Tools" - -.SH NAME -vcut \- cuts Ogg Vorbis files - -.SH SYNOPSIS -.B vcut -.I infile.ogg -.I outfile1.ogg -.I outfile2.ogg -.I [ cutpoint | +cutpoint] - -.SH DESCRIPTION -.B vcut -reads an Ogg Vorbis audio file and splits it at the given cutpoint, which is a -sample number. If the cutpoint is prefixed with '+', the cutpoint is an -integer number of seconds. - -.SH AUTHORS - -.TP -Program Author: -Michael Smith - -.TP -Manpage Author: -Christoper L Cheney +.Dd November 15, 2017 +.Dt VCUT 1 +.Os +.Sh NAME +.Nm vcut +.Nd cuts Ogg Vorbis files +.Sh SYNOPSIS +.Nm vcut +.Ar infile.ogg +.Ar outfile1.ogg +.Ar outfile2.ogg +.Op + Ns +.Ar cutpoint +.Sh DESCRIPTION +.Nm +reads an Ogg Vorbis audio file and splits it at the given +.Ar cutpoint , +which is a sample number, +or an integer number of seconds when prefixed with +.Sq + . +If one of the output file names is given as +.Sq \&. , +the corresponding file is not created. +.Sh AUTHORS +.An Michael Smith Aq Mt msmith at xiph.org +wrote +.Nm +and +.An Christoper L Cheney Aq Mt ccheney at debian.org +wrote the manpage. diff --git a/vcut/vcut.c b/vcut/vcut.c index fd23c0e..f0aef71 100644 --- a/vcut/vcut.c +++ b/vcut/vcut.c @@ -266,7 +266,7 @@ int main(int argc, char **argv) if(argc<5) { printf(_("Usage: vcut infile.ogg outfile1.ogg" - " outfile2.ogg [cutpoint | +cuttime]\n")); + " outfile2.ogg [+]cutpoint\n")); printf(_("To avoid creating an output file," " specify \".\" as its name.\n")); exit(1); From mrfun.china at gmail.com Mon Nov 27 00:00:52 2017 From: mrfun.china at gmail.com (YIRAN LI) Date: Mon, 27 Nov 2017 11:00:52 +1100 Subject: [Vorbis-dev] vorbis quality - quality scale vs bitrate Message-ID: Hi there, I'm using libvorbis in my program and need to encode to target bitrate. I know libvorbis prefer to use quality scale but I can't use it. I've found something at faq http://vorbis.com/faq/#quality *For now, quality 0 is roughly equivalent to 64kbps average, 5 is roughly 160kbps, and 10 gives about 400kbps. Most people seeking very-near-CD-quality audio encode at a quality of 5 or, for lossless stereo coupling, 6. The default setting is quality 3, which at approximately 110kbps gives a smaller filesize and significantly better fidelity than .mp3 compression at 128kbps.* so 0 == 64kbps 3 == 110kbps 5 == 160kbps 10 == 400kbps Could anyone give me a complete mapping from quality to bitrate ? Great thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From djv at iki.fi Mon Nov 27 00:55:25 2017 From: djv at iki.fi (Tuomo Latto) Date: Mon, 27 Nov 2017 02:55:25 +0200 Subject: [Vorbis-dev] vorbis quality - quality scale vs bitrate In-Reply-To: References: Message-ID: <5A1B627D.5090207@iki.fi> On 27.11.2017 02:00, YIRAN LI wrote: > I'm using libvorbis in my program and need to encode to target bitrate. I > know libvorbis prefer to use quality scale but I can't use it. > > I've found something at faq http://vorbis.com/faq/#quality > > *For now, quality 0 is roughly equivalent to 64kbps average, 5 is roughly > 160kbps, and 10 gives about 400kbps. Most people seeking > very-near-CD-quality audio encode at a quality of 5 or, for lossless stereo > coupling, 6. The default setting is quality 3, which at approximately > 110kbps gives a smaller filesize and significantly better fidelity than > .mp3 compression at 128kbps.* > > so 0 == 64kbps > 3 == 110kbps > 5 == 160kbps > 10 == 400kbps > > Could anyone give me a complete mapping from quality to bitrate ? It doesn't really work that way. Those are about right nominally (and I know 6 == 192kbps), but in practice they tend to produce slightly larger bitrates. The bitrates vary quite a bit, since quality implies VBR or ABR. For example, with q 6 you might get an average bitrate anywhere from 180 to 220 kbps with significantly more variation within the encoded file. (And, of course, quality is not limited to integer values.) It might be a good idea to start by looking at oggenc command-line arguments to get an idea of what you need to for CBR encoding. You at least need to use bitrate management and set the minimum and maximum bitrates, I think. AFAIK oggenc is essentially just a fairly straightforward mapping from command-line to libvorbis, so its source is probably a good place to see how it's done. -- Tuomo --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus From hans at stare.cz Mon Nov 27 06:11:32 2017 From: hans at stare.cz (Jan Stary) Date: Mon, 27 Nov 2017 07:11:32 +0100 Subject: [Vorbis-dev] manpages in mdoc(7) In-Reply-To: <20171115080618.GA87472@www.stare.cz> References: <20171115080618.GA87472@www.stare.cz> Message-ID: <20171127061131.GA96228@www.stare.cz> Is there simply no interest in this? Jan On Nov 15 09:06:18, hans at stare.cz wrote: > Dear authors of Vorbis, > > currently, the manpages that come with vorbistools > are written in the traditional man(7) markup language. > I am proposing to rewrite them into the semantic markup > of the mdoc(7) language. I am willing to do the work. > > Both the man(7) and mdoc(7) languages have been around for decades, > and are supported by the prevalent formatters: groff(1) on most Linuxes > and mandoc(1) on the *BSDs and some others. In particular, > there is nothing to install or reconfigure on most systems > - both formats can be rendered with man(1) or processed > into html or pdf or ps. > > The main point is that mdoc(7) allows for constructs like > > .Op Fl f Ar arg > > meaning > > there is an optional 'f' flag > which takes an 'arg' argument > > as opposed to > > switch to italics, type a bracket, a dash, "f", > then switch to boldface and type "arg" > > in the physical roff markup of man(7). > Similarly for other constructs like cross-referenes, > filenames, author emails, env variables, etc. > > See http://mdocml.bsd.lv for a thorough discussion > of the many benefits of such a markup - most important > of which is better readability and writability. > > See below for a rewrite of ogginfo.1 > as an example of what I have in mind. > > Please let me know if you are interested. > > Jan > > > .Dd November 15, 2017 > .Dt OGGINFO 1 > .Os > .Sh NAME > .Nm ogginfo > .Nd information about Ogg files and extensive validity checking > .Sh SYNOPSIS > .Nm > .Op Fl h > .Op Fl q > .Op Fl v > .Ar > .Sh DESCRIPTION > .Nm > reads one or more Ogg files and prints information about stream contents > (including chained and/or multiplexed streams) to standard output. > It will detect (but not correct) a wide range of common defects, > with many additional checks specifically for Ogg Vorbis streams. > .Pp > For all stream types, > .Nm > will print the filename being processed, the stream serial numbers, > and various common error conditions. > .Pp > For Vorbis streams, information including the version used for encoding, > the sample rate and number of channels, the bitrate and playback length, > and the contents of the comment header are printed. > .Pp > Similarly, for Theora streams, basic information about the video is provided, > including frame rate, aspect ratio, bitrate, length, and the comment header. > .Pp > The options are as follows: > .Bl -tag -width Ds > .It Fl h > Show a help and usage message. > .It Fl q > Quiet mode. > This may be specified multiple times. > Doing so once will remove the detailed informative messages, > twice will remove warnings as well. > .It Fl v > Verbose mode. > At the current time, this does not do anything. > .El > .Sh SEE ALSO > .Xr ogg123 1 , > .Xr oggdec 1 , > .Xr oggenc 1 , > .Xr vorbiscomment 1 > .Sh AUTHORS > .An Michael Smith Aq Mt msmith at xiph.org > _______________________________________________ > Vorbis-dev mailing list > Vorbis-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/vorbis-dev From gunter at peterpall.de Mon Nov 27 06:27:54 2017 From: gunter at peterpall.de (=?ISO-8859-1?Q?Gunter_K=F6nigsmann?=) Date: Mon, 27 Nov 2017 07:27:54 +0100 Subject: [Vorbis-dev] vorbis quality - quality scale vs bitrate In-Reply-To: <5A1B627D.5090207@iki.fi> References: <5A1B627D.5090207@iki.fi> Message-ID: Additionally: do you really need exactly this amounts of bits in every second? Or is the file length more important? In that case you can specify an average bitrate and the codec might save bits when there is silence and no movement for times there is much complexity that requires many bits to explain. Am 27. November 2017 01:55:25 MEZ schrieb Tuomo Latto : >On 27.11.2017 02:00, YIRAN LI wrote: >> I'm using libvorbis in my program and need to encode to target >bitrate. I >> know libvorbis prefer to use quality scale but I can't use it. >> >> I've found something at faq http://vorbis.com/faq/#quality >> >> *For now, quality 0 is roughly equivalent to 64kbps average, 5 is >roughly >> 160kbps, and 10 gives about 400kbps. Most people seeking >> very-near-CD-quality audio encode at a quality of 5 or, for lossless >stereo >> coupling, 6. The default setting is quality 3, which at approximately >> 110kbps gives a smaller filesize and significantly better fidelity >than >> .mp3 compression at 128kbps.* >> >> so 0 == 64kbps >> 3 == 110kbps >> 5 == 160kbps >> 10 == 400kbps >> >> Could anyone give me a complete mapping from quality to bitrate ? > >It doesn't really work that way. Those are about right nominally >(and I know 6 == 192kbps), but in practice they tend to produce >slightly larger bitrates. The bitrates vary quite a bit, since >quality implies VBR or ABR. For example, with q 6 you might >get an average bitrate anywhere from 180 to 220 kbps with >significantly more variation within the encoded file. >(And, of course, quality is not limited to integer values.) > >It might be a good idea to start by looking at oggenc command-line >arguments to get an idea of what you need to for CBR encoding. >You at least need to use bitrate management and set the minimum >and maximum bitrates, I think. AFAIK oggenc is essentially just >a fairly straightforward mapping from command-line to libvorbis, >so its source is probably a good place to see how it's done. > > >-- >Tuomo > >--- >This email has been checked for viruses by Avast antivirus software. >https://www.avast.com/antivirus > >_______________________________________________ >Vorbis-dev mailing list >Vorbis-dev at xiph.org >http://lists.xiph.org/mailman/listinfo/vorbis-dev -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. -------------- next part -------------- An HTML attachment was scrubbed... URL: