Skip to main content
deleted 14 characters in body
Source Link
Canadian Luke
  • 24.4k
  • 39
  • 119
  • 175

libsndfilelibsndfile will do all that ffmpegffmpeg does and much more elegantly.

E.g. ....

$ sndfile-metadata-set --help

Usage :

sndfile-metadata-set [options] sndfile-metadata-set [options]

Where an option is made up of a pair of a field to set (one of the 'bext' or metadata fields below) and a string. Fields are as followsFor example, when you run $ sndfile-metadata-set --help, you can see the usage:

  sndfile-metadata-set [options] <file>
  sndfile-metadata-set [options] <input file> <output file>

Where an option is made up of a pair of a field to set (one of
the 'bext' or metadata fields below) and a string. Fields are
as follows :

    --bext-description       Set the 'bext' description.
    --bext-originator        Set the 'bext' originator.
    --bext-orig-ref          Set the 'bext' originator reference.
    --bext-umid              Set the 'bext' UMID.
    --bext-orig-date         Set the 'bext' origination date.
    --bext-orig-time         Set the 'bext' origination time.
    --bext-coding-hist       Set the 'bext' coding history.
    --bext-time-raf          Set the 'bext' Time ref.

    --str-comment            Set the metadata comment.
    --str-title              Set the metadata title.
    --str-copyright          Set the metadata copyright.
    --str-artist             Set the metadata artist.
    --str-date               Set the metadata date.
    --str-album              Set the metadata album.
    --str-license            Set the metadata license.

There are also the following arguments which do not take a parameter :


There are also the following arguments which do not take a
parameter :

    --bext-auto-time-date    Set the 'bext' time and date to current time/date.
    --bext-auto-time         Set the 'bext' time to current time.
    --bext-auto-date         Set the 'bext' date to current date.
    --str-auto-date          Set the metadata date to current date.

libsndfile will do all that ffmpeg does and much more elegantly.

E.g. ....

$ sndfile-metadata-set --help

Usage :

sndfile-metadata-set [options] sndfile-metadata-set [options]

Where an option is made up of a pair of a field to set (one of the 'bext' or metadata fields below) and a string. Fields are as follows :

--bext-description       Set the 'bext' description.
--bext-originator        Set the 'bext' originator.
--bext-orig-ref          Set the 'bext' originator reference.
--bext-umid              Set the 'bext' UMID.
--bext-orig-date         Set the 'bext' origination date.
--bext-orig-time         Set the 'bext' origination time.
--bext-coding-hist       Set the 'bext' coding history.
--bext-time-raf          Set the 'bext' Time ref.

--str-comment            Set the metadata comment.
--str-title              Set the metadata title.
--str-copyright          Set the metadata copyright.
--str-artist             Set the metadata artist.
--str-date               Set the metadata date.
--str-album              Set the metadata album.
--str-license            Set the metadata license.

There are also the following arguments which do not take a parameter :

--bext-auto-time-date    Set the 'bext' time and date to current time/date.
--bext-auto-time         Set the 'bext' time to current time.
--bext-auto-date         Set the 'bext' date to current date.
--str-auto-date          Set the metadata date to current date.

libsndfile will do all that ffmpeg does and much more elegantly.

For example, when you run $ sndfile-metadata-set --help, you can see the usage:

  sndfile-metadata-set [options] <file>
  sndfile-metadata-set [options] <input file> <output file>

Where an option is made up of a pair of a field to set (one of
the 'bext' or metadata fields below) and a string. Fields are
as follows :

    --bext-description       Set the 'bext' description.
    --bext-originator        Set the 'bext' originator.
    --bext-orig-ref          Set the 'bext' originator reference.
    --bext-umid              Set the 'bext' UMID.
    --bext-orig-date         Set the 'bext' origination date.
    --bext-orig-time         Set the 'bext' origination time.
    --bext-coding-hist       Set the 'bext' coding history.
    --bext-time-raf          Set the 'bext' Time ref.

    --str-comment            Set the metadata comment.
    --str-title              Set the metadata title.
    --str-copyright          Set the metadata copyright.
    --str-artist             Set the metadata artist.
    --str-date               Set the metadata date.
    --str-album              Set the metadata album.
    --str-license            Set the metadata license.

There are also the following arguments which do not take a
parameter :

    --bext-auto-time-date    Set the 'bext' time and date to current time/date.
    --bext-auto-time         Set the 'bext' time to current time.
    --bext-auto-date         Set the 'bext' date to current date.
    --str-auto-date          Set the metadata date to current date.
Source Link

libsndfile will do all that ffmpeg does and much more elegantly.

E.g. ....

$ sndfile-metadata-set --help

Usage :

sndfile-metadata-set [options] sndfile-metadata-set [options]

Where an option is made up of a pair of a field to set (one of the 'bext' or metadata fields below) and a string. Fields are as follows :

--bext-description       Set the 'bext' description.
--bext-originator        Set the 'bext' originator.
--bext-orig-ref          Set the 'bext' originator reference.
--bext-umid              Set the 'bext' UMID.
--bext-orig-date         Set the 'bext' origination date.
--bext-orig-time         Set the 'bext' origination time.
--bext-coding-hist       Set the 'bext' coding history.
--bext-time-raf          Set the 'bext' Time ref.

--str-comment            Set the metadata comment.
--str-title              Set the metadata title.
--str-copyright          Set the metadata copyright.
--str-artist             Set the metadata artist.
--str-date               Set the metadata date.
--str-album              Set the metadata album.
--str-license            Set the metadata license.

There are also the following arguments which do not take a parameter :

--bext-auto-time-date    Set the 'bext' time and date to current time/date.
--bext-auto-time         Set the 'bext' time to current time.
--bext-auto-date         Set the 'bext' date to current date.
--str-auto-date          Set the metadata date to current date.

Most of the above operations can be done in-place on an existing file. If any operation cannot be performed, the application will exit with an appropriate error message.

Using libsndfile-1.0.25.