From nobody Fri Jun 09 06:53:47 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QcsHb6V62z4c0RY; Fri, 9 Jun 2023 06:53:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QcsHb62xZz3R22; Fri, 9 Jun 2023 06:53:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1686293627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWdGDP8bRGxq5oHLd9zMoAe81d5zWoVvxg0fwS5AWFo=; b=xRKmZpZfzIsrSqZBKv28ZbM+ARFcSNeNbvTb1jjxfuQc+10UZArRFynJOWuQZfulGkCOVd ohF59mtYI3A2CGxOMQnd0NOj8HYhGIMQdqQjBwp6OL9bU81nY9+1AaQJOiqoNlpHx8etgx 4B5tdJ9cJ72SwM/IMcnDwp9TfovcuRcxPAmZlpv5nIcIfFyI609GNb/4CJvQvIM6OI/2sw ScvXGKEJ0pgz6BRF8CrbiJhT3ulJypcaNvLpbcx63wTCHgcLEos/lszA7ItRna3hJmtC0h Swn27jEPJygJ+qUqKeYVMZ56ir5ZUAh0P1mEQQqCohfvGHZn7jVAyRgTIg+L/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1686293627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWdGDP8bRGxq5oHLd9zMoAe81d5zWoVvxg0fwS5AWFo=; b=h3zHv4pCQLQkn+yit/RlVbzVSHGmfDC+gemyqyr1ixUwlDQFfe0aLHh3T8gXAB8ldkGS1x iP6wId5SK2zdW5DcUMB4R2x4M/v3nl2sD4o2McIAYntBXvuAXUHbdN0JbhkpTPMK6AfqSc Xr5XhQZeyn1v5AMsH9kLnH8jr82RVZ7Kp9Qc3XDnSQ0nR3EWx8+yHUbi/AgR0EzcEylazK 1MCdMWAIPvPx/ho40Y8LinckHLW/C56ZBse2iqGc2oyKWJVEocxsWcjls5+2ZL+LliMZhY gaZfCXsmURlxDHaAsb7lhSNEpBedvXElfvVExQPGxf45oMcjCXCEDyDAIUMacw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1686293627; a=rsa-sha256; cv=none; b=TkAkA+ypVcvDCfpnNF73siYPOdvb5//C8OR5Lwc5+3hKwXevHWg1lWDlkXpckN8DKOfSh5 tO0h/3XsZoa1ZFkpLCZF199I4uINqvqF3So005jMCTGeqwfNPoNNbk2Cx5cKlmXT9e/xb4 weGGOePHTlRSDpjvP0as/h4i8i9rIos+qh+RGYcaJuVAvmCmtHfQu6t6U0wbR5G2QL9eMy obwOjg/ITXBvyrWzueugTmB1ywhKE6DWepSGehfidVvpIjXuJkklL2+GXksqAiWIr+wqns BItil6p0Lp66fP5E7vetsWW/w1Hwp2mIqf2/exQyHoESSBSgjdfbY7vrzmKlYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4QcsHb56JFzQtg; Fri, 9 Jun 2023 06:53:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3596rlRo084275; Fri, 9 Jun 2023 06:53:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3596rlMN084274; Fri, 9 Jun 2023 06:53:47 GMT (envelope-from git) Date: Fri, 9 Jun 2023 06:53:47 GMT Message-Id: <202306090653.3596rlMN084274@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Emanuel Haupt Subject: git: 4aca6786ed56 - main - audio/audiowmark: Add new port List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ehaupt X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4aca6786ed5623cb888e14a2f35d0542952dec0e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ehaupt: URL: https://cgit.FreeBSD.org/ports/commit/?id=4aca6786ed5623cb888e14a2f35d0542952dec0e commit 4aca6786ed5623cb888e14a2f35d0542952dec0e Author: Emanuel Haupt AuthorDate: 2023-06-09 06:53:07 +0000 Commit: Emanuel Haupt CommitDate: 2023-06-09 06:53:07 +0000 audio/audiowmark: Add new port A sound file is read by the software, and a 128-bit message is stored in a watermark in the output sound file. For human listeners, the files typically sound the same. However, the 128-bit message can be retrieved from the output sound file. Our tests show, that even if the file is converted to mp3 or ogg (with bitrate 128 kbit/s or higher), the watermark usually can be retrieved without problems. The process of retrieving the message does not need the original audio file (blind decoding). Internally, audiowmark is using the patchwork algorithm to hide the data in the spectrum of the audio file. The signal is split into 1024 sample frames. For each frame, some pseoudo-randomly selected amplitudes of the frequency bands of a 1024-value FFTs are increased or decreased slightly, which can be detected later. --- audio/Makefile | 1 + audio/audiowmark/Makefile | 51 ++++++++++++++++++++++++++++++++++++++++++++++ audio/audiowmark/distinfo | 3 +++ audio/audiowmark/pkg-descr | 15 ++++++++++++++ 4 files changed, 70 insertions(+) diff --git a/audio/Makefile b/audio/Makefile index feedad6b392f..eaa5894d5f7f 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -43,6 +43,7 @@ SUBDIR += audacity SUBDIR += audiere SUBDIR += audiocd-kio + SUBDIR += audiowmark SUBDIR += aumix SUBDIR += autocd SUBDIR += autotalent diff --git a/audio/audiowmark/Makefile b/audio/audiowmark/Makefile new file mode 100644 index 000000000000..41a233b17440 --- /dev/null +++ b/audio/audiowmark/Makefile @@ -0,0 +1,51 @@ +PORTNAME= audiowmark +PORTVERSION= 0.6.1 +CATEGORIES= audio + +MAINTAINER= ehaupt@FreeBSD.org +COMMENT= Audio and video watermarking tool +WWW= https://github.com/swesterfeld/audiowmark + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:math/fftw3 \ + autoconf-archive>=0:devel/autoconf-archive +LIB_DEPENDS= libfftw3f.so:math/fftw3-float \ + libgcrypt.so:security/libgcrypt \ + libgpg-error.so:security/libgpg-error \ + libmpg123.so:audio/mpg123 \ + libsndfile.so:audio/libsndfile \ + libzita-resampler.so:audio/zita-resampler + +USES= autoreconf localbase:ldflags pkgconfig shebangfix +USE_GITHUB= yes +GH_ACCOUNT= swesterfeld + +SHEBANG_FILES= src/videowmark + +GNU_CONFIGURE= yes + +PLIST_FILES= bin/audiowmark \ + bin/videowmark +PORTDOCS= README.adoc + +OPTIONS_DEFINE= DOCS FFMPEG +OPTIONS_DEFAULT= FFMPEG + +FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg +FFMPEG_CONFIGURE_ON= --with-ffmpeg + +.include + +# Fails to compile with llvm15 +# https://github.com/swesterfeld/audiowmark/issues/36 +.if ${OSVERSION} >= 1400000 +USE_GCC= yes +.endif + +post-install: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README.adoc ${STAGEDIR}${DOCSDIR} + +.include diff --git a/audio/audiowmark/distinfo b/audio/audiowmark/distinfo new file mode 100644 index 000000000000..b60df4e2bd33 --- /dev/null +++ b/audio/audiowmark/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1686217029 +SHA256 (swesterfeld-audiowmark-0.6.1_GH0.tar.gz) = 033500755f333db228c0192c80782fa4ad947e7604a5f34689a3ce4eef72afcc +SIZE (swesterfeld-audiowmark-0.6.1_GH0.tar.gz) = 102875 diff --git a/audio/audiowmark/pkg-descr b/audio/audiowmark/pkg-descr new file mode 100644 index 000000000000..a5db5a3d8509 --- /dev/null +++ b/audio/audiowmark/pkg-descr @@ -0,0 +1,15 @@ +A sound file is read by the software, and a 128-bit message is stored in +a watermark in the output sound file. For human listeners, the files +typically sound the same. + +However, the 128-bit message can be retrieved from the output sound +file. Our tests show, that even if the file is converted to mp3 or ogg +(with bitrate 128 kbit/s or higher), the watermark usually can be +retrieved without problems. The process of retrieving the message does +not need the original audio file (blind decoding). + +Internally, audiowmark is using the patchwork algorithm to hide the data +in the spectrum of the audio file. The signal is split into 1024 sample +frames. For each frame, some pseoudo-randomly selected amplitudes of the +frequency bands of a 1024-value FFTs are increased or decreased +slightly, which can be detected later.