File AtomicParsley.spec of Package AtomicParsley
#
# spec file for package AtomicParsley
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2015-2020 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: AtomicParsley
Version: 20200701.154658.b0d6223
Release: 0
Summary: Read and set metadata tags in MPEG-4 files & 3gp assets
License: GPL-2.0-only
Group: Productivity/Multimedia/Other
URL: https://github.com/wez/atomicparsley
Source: https://github.com/wez/atomicparsley/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: cmake >= 3.17
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: pkgconfig(zlib)
%description
AtomicParsley is a lightweight command line program for reading, parsing and
setting metadata into MPEG-4 files supporting these styles of metadata:
* iTunes-style metadata into .mp4, .m4a, .m4p, .m4v, .m4b files
* 3gp-style assets (3GPP TS 26.444 version 6.4.0 Release 6 specification
conforming) in 3GPP, 3GPP2, MobileMP4 & derivatives
* ISO copyright notices at movie & track level for MPEG-4 & derivative files
* uuid private user extension text & file embedding for MPEG-4 & derivative
files
The MPEG-4 container is based on Apple's Quicktime .mov container (just more
sane) & there are a number of similarites - as well as differences. Each MPEG-4
file lists a "major file brand" that broadly says which specification the file
adheres to. For example, an iTunes audio file typically lists 'M4A ' as its
major file brand, while a 3GPP2 .3g2 file has something like '3g2a'. It is
based on this major file brand that AtomicParsley allows a style of metadata to
be set. Since there is nothing in the 3GPP2 specification regarding
iTunes-style metadata, its use is prevented on such files. Similarly, a 3gp
'location' asset is not available for an iTMS video file. The first paragraph
here sums the situation up well.
With the exception of artwork, all iTunes-style tags support only 1 piece of
metadata - you can't have for example 3 title tags. 3gp assets and copyright
notices support multiple tags, but they must differ in the language setting for
that tag. You can have for example 3 title tags, but 1 in english, 1 in
spanish, 1 in undefined. All iTunes-style text metadata is always in UTF-8; 3gp
assets & copyright notices can be in set in UTF-8 or UTF-16. All strings are
converted internally to UTF-8, converting as necessary. On *nix platforms,
input is in UTF-8; the native Windows port supports full UTF-16 input.
%prep
%setup -q -n atomicparsley-%{version}
%build
%cmake
%cmake_build
%install
install -Dm 0755 build/%{name} %{buildroot}%{_bindir}/%{name}
%files
%license COPYING
%doc Changes.txt CREDITS README.md
%{_bindir}/%{name}
%changelog