diff options
author | wg <wg@FreeBSD.org> | 2013-10-09 03:24:30 +0800 |
---|---|---|
committer | wg <wg@FreeBSD.org> | 2013-10-09 03:24:30 +0800 |
commit | 7d6df196041da922296dfbe544b21192e64b7185 (patch) | |
tree | 364e4ed58a06caf599984b03dc49c0f5556a6ef2 | |
parent | 3098054263963fdf2f1d1371b335c127a85269ef (diff) | |
download | freebsd-ports-gnome-7d6df196041da922296dfbe544b21192e64b7185.tar.gz freebsd-ports-gnome-7d6df196041da922296dfbe544b21192e64b7185.tar.zst freebsd-ports-gnome-7d6df196041da922296dfbe544b21192e64b7185.zip |
ffmpeg is a hyper fast realtime audio/video encoder, a streaming
server and a generic audio and video file converter.
It can convert a standard video source into several file formats
based on DCT/motion compensation encoding. Sound is compressed in
MPEG audio layer 2 or using an AC3 compatible stream.
What makes ffmpeg interesting ?
- Simple and efficient video encoder: outputs MPEG1, H263, Real
Video(tm), MPEG4, DIVX and MJPEG compatible bitstreams using the
same encoder core.
- Hyper fast MPEG audio layer 2 compression (50 times faster than
realtime on a K6 500).
[snip -> rest on website below]
ffmpeg is made of two programs:
* ffmpeg: soft VCR which encodes in real time to several formats.
It can also encode from any supported input file format to any
input supported format.
* ffserver: high performance live broadcast streaming server based
on the ffmpeg core encoders.
WWW: http://ffmpeg.mplayerhq.hu/
-rw-r--r-- | multimedia/Makefile | 1 | ||||
-rw-r--r-- | multimedia/ffmpeg0/Makefile | 457 | ||||
-rw-r--r-- | multimedia/ffmpeg0/distinfo | 2 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/ffserver0.in | 26 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-configure | 31 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-doc-protocols.texi | 13 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavcodec-Makefile | 11 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavcodec-libgsm.c | 11 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavdevice-bktr.c | 14 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavdevice-oss_audio.c | 14 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavfilter-Makefile | 11 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavfilter-vf_libopencv.c | 12 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavformat-udp.c | 11 | ||||
-rw-r--r-- | multimedia/ffmpeg0/files/patch-libavutil-common.h | 13 | ||||
-rw-r--r-- | multimedia/ffmpeg0/pkg-descr | 24 | ||||
-rw-r--r-- | multimedia/ffmpeg0/pkg-plist | 154 |
16 files changed, 805 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile index a47203c5ceff..b61bae289bb6 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -55,6 +55,7 @@ SUBDIR += emovix SUBDIR += ffmpeg SUBDIR += ffmpeg-devel + SUBDIR += ffmpeg0 SUBDIR += ffmpeg1 SUBDIR += ffmpeg2 SUBDIR += ffmpeg2theora diff --git a/multimedia/ffmpeg0/Makefile b/multimedia/ffmpeg0/Makefile new file mode 100644 index 000000000000..c399f5014bd5 --- /dev/null +++ b/multimedia/ffmpeg0/Makefile @@ -0,0 +1,457 @@ +# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= ffmpeg +PORTVERSION= 0.7.15 +PORTEPOCH= 1 +CATEGORIES= multimedia audio ipv6 net +MASTER_SITES= http://ffmpeg.org/releases/ +PKGNAMESUFFIX= 0 + +MAINTAINER= wg@FreeBSD.org +COMMENT= Realtime audio/video encoder/converter and streaming server + +LICENSE= GPLv2 LGPL21 +LICENSE_COMB= multi +LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING.GPLv2 +LICENSE_FILE_LGPL21= ${WRKSRC}/COPYING.LGPLv2.1 + +BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \ + ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils \ + ${LOCALBASE}/bin/texi2html:${PORTSDIR}/textproc/texi2html + +CONFLICTS= libav-[0-9]* +PORTSCOUT= limit:^0\.7.* + +HAS_CONFIGURE= yes +CONFIGURE_LOG= config.err +USES= gmake perl5 pkgconfig +USE_BZIP2= yes +WANT_SDL= yes +USE_LDCONFIG= ${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX} +USE_PERL5= build + +FFMPEG_SUFFIX= 0 +PLIST_SUB+= SUFF="${FFMPEG_SUFFIX}" + +CONFIGURE_ENV+= EXESUF="${FFMPEG_SUFFIX}" +MAKE_ARGS+= EXESUF="${FFMPEG_SUFFIX}" +PROGS= ffmpeg ffprobe + +DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} +DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX} + +OPTIONS_DEFINE= AACPLUS ALSA AMR_NB AMR_WB CELT DEBUG DIRAC FAAC \ + FFSERVER FREETYPE FREI0R GSM LAME OPENCV OPENJPEG \ + OPTIMIZED_CFLAGS RTMP SCHROEDINGER SDL SPEEX THEORA VAAPI \ + VDPAU VO_AACENC VO_AMRWBENC VORBIS VPX X11GRAB X264 XVID + +OPTIONS_DEFAULT= FFSERVER FREETYPE FREI0R OPENCV SCHROEDINGER THEORA \ + VORBIS VPX X264 XVID + +FFSERVER_DESC= Build and install ffserver +X11GRAB_DESC= Enable x11 grabbing + +COMPAT_HEADERS=libavcodec/avcodec.h \ + libavcodec/opt.h \ + libavcodec/vdpau.h \ + libavcodec/xvmc.h \ + libavdevice/avdevice.h \ + libavfilter/avfilter.h \ + libavformat/avformat.h \ + libavformat/avio.h \ + libavutil/adler32.h \ + libavutil/avstring.h \ + libavutil/avutil.h \ + libavutil/base64.h \ + libavutil/common.h \ + libavutil/crc.h \ + libavutil/fifo.h \ + libavutil/intfloat_readwrite.h \ + libavutil/log.h \ + libavutil/lzo.h \ + libavutil/mathematics.h \ + libavutil/md5.h \ + libavutil/mem.h \ + libavutil/pixfmt.h \ + libavutil/rational.h \ + libavutil/sha1.h \ + libpostproc/postprocess.h \ + libswscale/swscale.h + +.include <bsd.port.options.mk> + +# rtmp +.if ${PORT_OPTIONS:MRTMP} +USE_OPENSSL= yes +.endif + +# x11grab +.if ${PORT_OPTIONS:MX11GRAB} +USE_XORG= x11 xext xfixes +CONFIGURE_ARGS+= --enable-x11grab +.endif + +.include <bsd.port.pre.mk> + +CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin +MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin + +CONFIGURE_ARGS+=--prefix="${PREFIX}" \ + --mandir="${PREFIX}/man" \ + --incdir="${PREFIX}/include/ffmpeg${FFMPEG_SUFFIX}" \ + --libdir="${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX}" \ + --shlibdir="${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX}" \ + --datadir="${DATADIR}" \ + --build-suffix="${FFMPEG_SUFFIX}" \ + --enable-shared \ + --enable-gpl \ + --enable-postproc \ + --enable-avfilter \ + --enable-pthreads \ + --enable-memalign-hack \ + --enable-runtime-cpudetect \ + --cc="${CC}" \ + --extra-cflags="${FFMPEG_CFLAGS} -I${LOCALBASE}/include" \ + --extra-ldflags="-L${LOCALBASE}/lib ${FFMPEG_LDFLAGS}" \ + --extra-libs="${PTHREAD_LIBS}" +SHLIB_VER= 1 +PLIST_SUB+= SHLIB_VER=${SHLIB_VER} +USE_LDCONFIG= yes + +DOC_FILES= CREDITS INSTALL LICENSE MAINTAINERS README RELEASE +# under doc subdirectory +DOC_DOCFILES= APIchanges RELEASE_NOTES TODO *.txt *.html +PORTDOCS= * + +.if ${PORT_OPTIONS:MDEBUG} +CONFIGURE_ARGS+= --disable-stripping +.else +CONFIGURE_ARGS+= --disable-debug +.endif + +.if ${PORT_OPTIONS:MFFSERVER} +USE_RC_SUBR= ffserver${FFMPEG_SUFFIX} +PROGS+= ffserver +.endif + +# sse hardware vector support +.if defined(MACHINE_CPU) && (${MACHINE_CPU:Msse} == "sse" || ${MACHINE_CPU:Mamd64} == "amd64") +_BUILTIN_VECTOR= yes +.else +CONFIGURE_ARGS+= --disable-sse +.endif + +# mmx support +.if defined(MACHINE_CPU) && ${MACHINE_CPU:Mmmx} == "" && ${MACHINE_CPU:Mamd64} == "" +CONFIGURE_ARGS+= --disable-mmx +_NO_BUILTIN_VECTOR= yes +.endif + +# builtin vector, requires mmx and sse +.if !defined(_NO_BUILTIN_VECTOR) && defined(_BUILTIN_VECTOR) +CFLAGS+= -msse +.endif + +# optimizations +.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} +CFLAGS+= -O3 -ffast-math -fno-finite-math-only -fomit-frame-pointer +.endif + +#aacplus +.if ${PORT_OPTIONS:MAACPLUS} +FFMPEG_NONFREE= yes +LIB_DEPENDS+= libaacplus.so:${PORTSDIR}/audio/libaacplus +CONFIGURE_ARGS+= --enable-libaacplus +.else +CONFIGURE_ARGS+= --disable-libaacplus +.endif + +#alsa +.if ${PORT_OPTIONS:MALSA} +LIB_DEPENDS+= libasound.so:${PORTSDIR}/audio/alsa-lib +.else +CONFIGURE_ARGS+= --disable-indev=alsa \ + --disable-outdev=alsa +.endif + +# Opencore AMR NB +.if ${PORT_OPTIONS:MAMR_NB} +FFMPEG_LICENSE_GPL3= yes +LIB_DEPENDS+= libopencore-amrnb.so:${PORTSDIR}/audio/opencore-amr +CONFIGURE_ARGS+= --enable-libopencore-amrnb +.else +CONFIGURE_ARGS+= --disable-libopencore-amrnb +.endif + +# Opencore AMR WB +.if ${PORT_OPTIONS:MAMR_WB} +FFMPEG_LICENSE_GPL3= yes +LIB_DEPENDS+= libopencore-amrwb.so:${PORTSDIR}/audio/opencore-amr +CONFIGURE_ARGS+= --enable-libopencore-amrwb +.else +CONFIGURE_ARGS+= --disable-libopencore-amrwb +.endif + +# celt +.if ${PORT_OPTIONS:MCELT} +LIB_DEPENDS+= libcelt0.so:${PORTSDIR}/audio/celt +CONFIGURE_ARGS+= --enable-libcelt +.else +CONFIGURE_ARGS+= --disable-libcelt +.endif + +# dirac +.if ${PORT_OPTIONS:MDIRAC} +LIB_DEPENDS+= libdirac_encoder.so:${PORTSDIR}/multimedia/dirac +CONFIGURE_ARGS+= --enable-libdirac +.else +CONFIGURE_ARGS+= --disable-libdirac +.endif + +# faac +.if ${PORT_OPTIONS:MFAAC} +FFMPEG_NONFREE= yes +LIB_DEPENDS+= libfaac.so:${PORTSDIR}/audio/faac +CONFIGURE_ARGS+= --enable-libfaac +.else +CONFIGURE_ARGS+= --disable-libfaac +.endif + +# ffserver +.if ${PORT_OPTIONS:MFFSERVER} +PLIST_SUB+= FFSERVER="" +.else +PLIST_SUB+= FFSERVER="@comment " +CONFIGURE_ARGS+= --disable-ffserver +.endif + +# freetype +.if ${PORT_OPTIONS:MFREETYPE} +LIB_DEPENDS+= libfreetype.so:${PORTSDIR}/print/freetype2 +CONFIGURE_ARGS+= --enable-libfreetype +.else +CONFIGURE_ARGS+= --disable-libfreetype +.endif + +# frei0r +.if ${PORT_OPTIONS:MFREI0R} +BUILD_DEPENDS+= ${LOCALBASE}/include/frei0r.h:${PORTSDIR}/graphics/frei0r +CONFIGURE_ARGS+= --enable-frei0r +.else +CONFIGURE_ARGS+= --disable-frei0r +.endif + +# gsm +.if ${PORT_OPTIONS:MGSM} +LIB_DEPENDS+= libgsm.so:${PORTSDIR}/audio/gsm +CONFIGURE_ARGS+= --enable-libgsm +.else +CONFIGURE_ARGS+= --disable-libgsm +.endif + +# mp3 +.if ${PORT_OPTIONS:MLAME} +LIB_DEPENDS+= libmp3lame.so:${PORTSDIR}/audio/lame +CONFIGURE_ARGS+= --enable-libmp3lame +.else +CONFIGURE_ARGS+= --disable-libmp3lame +.endif + +# opencv +.if ${PORT_OPTIONS:MOPENCV} +LIB_DEPENDS+= libopencv_imgproc.so:${PORTSDIR}/graphics/opencv-core +CONFIGURE_ARGS+= --enable-libopencv +.else +CONFIGURE_ARGS+= --disable-libopencv +.endif + +# openjpeg +.if ${PORT_OPTIONS:MOPENJPEG} +LIB_DEPENDS+= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg +CONFIGURE_ARGS+= --enable-libopenjpeg +.else +CONFIGURE_ARGS+= --disable-libopenjpeg +.endif + +# rtmp +.if ${PORT_OPTIONS:MRTMP} +LIB_DEPENDS+= librtmp.so:${PORTSDIR}/multimedia/rtmpdump +CONFIGURE_ARGS+= --enable-librtmp +. if ${OPENSSLBASE} != "/usr" +FFMPEG_CFLAGS+= -I${OPENSSLINC} +FFMPEG_LDFLAGS+= -L${OPENSSLLIB} +. endif +.else +CONFIGURE_ARGS+= --disable-librtmp +.endif + +# schroedinger +.if ${PORT_OPTIONS:MSCHROEDINGER} +LIB_DEPENDS+= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger +CONFIGURE_ARGS+= --enable-libschroedinger +.else +CONFIGURE_ARGS+= --disable-libschroedinger +.endif + +# sdl +.if ${PORT_OPTIONS:MSDL} +USE_SDL+= sdl +PLIST_FILES+= bin/ffplay${FFMPEG_SUFFIX} man/man1/ffplay${FFMPEG_SUFFIX}.1.gz +PROGS+= ffplay +.else +CONFIGURE_ARGS+= --disable-ffplay +.endif + +# speex +.if ${PORT_OPTIONS:MSPEEX} +LIB_DEPENDS+= libspeex.so:${PORTSDIR}/audio/speex +CONFIGURE_ARGS+= --enable-libspeex +.else +CONFIGURE_ARGS+= --disable-libspeex +.endif + +# theora +.if ${PORT_OPTIONS:MTHEORA} +LIB_DEPENDS+= libtheora.so:${PORTSDIR}/multimedia/libtheora +CONFIGURE_ARGS+= --enable-libtheora +.else +CONFIGURE_ARGS+= --disable-libtheora +.endif + +# vaapi +.if ${PORT_OPTIONS:MVAAPI} +FFMPEG_LICENSE_GPL3= yes +LIB_DEPENDS+= libva.so:${PORTSDIR}/multimedia/libva +CONFIGURE_ARGS+= --enable-vaapi +.else +CONFIGURE_ARGS+= --disable-vaapi +.endif + +# vdpau +.if ${PORT_OPTIONS:MVDPAU} +BUILD_DEPENDS+= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau +CONFIGURE_ARGS+= --enable-vdpau +.else +CONFIGURE_ARGS+= --disable-vdpau +.endif + +# vo-aacenc +.if ${PORT_OPTIONS:MVO_AACENC} +FFMPEG_LICENSE_GPL3= yes +LIB_DEPENDS+= libvo-aacenc.so:${PORTSDIR}/audio/vo-aacenc +CONFIGURE_ARGS+= --enable-libvo-aacenc +.else +CONFIGURE_ARGS+= --disable-libvo-aacenc +.endif + +# vo-amrwbenc +.if ${PORT_OPTIONS:MVO_AMRWBENC} +FFMPEG_LICENSE_GPL3= yes +LIB_DEPENDS+= libvo-amrwbenc.so:${PORTSDIR}/audio/vo-amrwbenc +CONFIGURE_ARGS+= --enable-libvo-amrwbenc +.else +CONFIGURE_ARGS+= --disable-libvo-amrwbenc +.endif + +# vorbis +.if ${PORT_OPTIONS:MVORBIS} +LIB_DEPENDS+= libvorbisenc.so:${PORTSDIR}/audio/libvorbis +CONFIGURE_ARGS+= --enable-libvorbis +FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis +.else +CONFIGURE_ARGS+= --disable-libvorbis +.endif + +# vp8 +.if ${PORT_OPTIONS:MVPX} +LIB_DEPENDS+= libvpx.so:${PORTSDIR}/multimedia/libvpx +CONFIGURE_ARGS+= --enable-libvpx +.else +CONFIGURE_ARGS+= --disable-libvpx +.endif + +# x264 +.if ${PORT_OPTIONS:MX264} +LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/x264 +CONFIGURE_ARGS+= --enable-libx264 +.else +CONFIGURE_ARGS+= --disable-libx264 +.endif + +# xvid +.if ${PORT_OPTIONS:MXVID} +LIB_DEPENDS+= libxvidcore.so:${PORTSDIR}/multimedia/xvid +CONFIGURE_ARGS+= --enable-libxvid +.else +CONFIGURE_ARGS+= --disable-libxvid +.endif + +# License knobs +.if defined(FFMPEG_NONFREE) +RESTRICTED= linking to libfaac or libaacplus restricts redistribution +CONFIGURE_ARGS+= --enable-nonfree +.endif + +.if defined(FFMPEG_LICENSE_GPL3) +LICENSE+= GPLv3 LGPL3 +LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING.GPLv3 +LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING.LGPLv3 +CONFIGURE_ARGS+= --enable-version3 +.endif + +post-patch: +# {C,LD}FLAGS safeness + @${REINPLACE_CMD} -e 's|$$(LIBDIR)/pkgconfig|$$(DESTDIR)$$(prefix)/libdata/pkgconfig|' \ + ${WRKSRC}/subdir.mak + @${REINPLACE_CMD} -e 's|/etc/ffserver.conf|${PREFIX}/etc/ffserver${FFMPEG_SUFFIX}.conf|' \ + ${WRKSRC}/ffserver.c + @${REINPLACE_CMD} -E \ + -e "s|(EXTRALIBS[[:space:]]*=)|\1-L${LOCALBASE}/lib |g; \ + s|%%LOCALBASE%%|${LOCALBASE}|g; \ + s|-pthread|${PTHREAD_LIBS}|g; \ + s|gsm/gsm.h|gsm.h|g" \ + ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} + @${REINPLACE_CMD} -e 's|-ldl||; s|$$(LIBMAJOR)|${SHLIB_VER}|g;' \ + -e 's|opencv opencv/cxcore.h|opencv-core opencv2/core/core_c.h|g' \ + ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} + @${REINPLACE_CMD} -e 's|/usr/bin/perl|${PERL5}|g' \ + ${WRKSRC}/doc/texi2pod.pl +.if ${PORT_OPTIONS:MDSL} + @${REINPLACE_CMD} -E \ + -e 's|sdl-config|${SDL_CONFIG}|g' \ + ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} + @${FIND} ${WRKSRC} -type f | \ + ${XARGS} -n 10 ${REINPLACE_CMD} -E \ + -e 's|#include <SDL|#include <SDL/SDL|' +.endif + +post-configure: +.if empty(PORT_OPTIONS:MTHEORA) + @${REINPLACE_CMD} -E \ + -e 's|^(CONFIG_LIBTHEORA).*$$|\1=no|' \ + ${WRKSRC}/config.mak +.endif + @${REINPLACE_CMD} -E \ + -e 's|\$$\(INSTALL\) -m 644 \$$\(MANPAGES\) "\$$\(MANDIR\)/man1"||g' \ + ${WRKSRC}/Makefile + @${REINPLACE_CMD} -E \ + -e 's|\$$\$$\(INSTALL\) -m 644 \$$\$$\^ "\$$\(DESTDIR\)\$$\(prefix\)/libdata/pkgconfig"|\$$\$$\(INSTALL\) -m 644 \$$\$$\^ "\$$\(DESTDIR\)\$$\(prefix\)/libdata/pkgconfig/lib\$$\(NAME\)0.pc"|' \ + ${WRKSRC}/subdir.mak + +post-install: +.if ${PORT_OPTIONS:MFFSERVER} + ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${STAGEDIR}${PREFIX}/etc/ffserver${FFMPEG_SUFFIX}.conf-dist +.endif + @${MKDIR} ${STAGEDIR}${DOCSDIR} +.for FILE in ${DOC_FILES} + ${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR} +.endfor +.for FILE in ${DOC_DOCFILES} + ${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${STAGEDIR}${DOCSDIR} +.endfor +.for i in ${PROGS} + ${INSTALL_MAN} ${WRKSRC}/doc/${i}.1 ${STAGEDIR}${MANPREFIX}/man/man1/${i}0.1 +.endfor + +.include <bsd.port.post.mk> diff --git a/multimedia/ffmpeg0/distinfo b/multimedia/ffmpeg0/distinfo new file mode 100644 index 000000000000..600a5b12f994 --- /dev/null +++ b/multimedia/ffmpeg0/distinfo @@ -0,0 +1,2 @@ +SHA256 (ffmpeg-0.7.15.tar.bz2) = c5145aab922076b9986168214c9bd607f4664644f14f9074499fc52a039fcfd9 +SIZE (ffmpeg-0.7.15.tar.bz2) = 4528584 diff --git a/multimedia/ffmpeg0/files/ffserver0.in b/multimedia/ffmpeg0/files/ffserver0.in new file mode 100644 index 000000000000..cd3a74467531 --- /dev/null +++ b/multimedia/ffmpeg0/files/ffserver0.in @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ffserver0 +# REQUIRE: NETWORKING +# KEYWORD: shutdown + +# +# Add the following lines to /etc/rc.conf to enable ffserver: +# +#ffserver0_enable="YES" +# +ffserver0_enable="${ffserver0_enable-NO}" + +. /etc/rc.subr + +name=ffserver0 +rcvar=ffserver0_enable + +command="%%PREFIX%%/bin/${name} &" +required_files=%%PREFIX%%/etc/ffserver0.conf + +load_rc_config ${name} +run_rc_command "$1" diff --git a/multimedia/ffmpeg0/files/patch-configure b/multimedia/ffmpeg0/files/patch-configure new file mode 100644 index 000000000000..5e0f7e987e47 --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-configure @@ -0,0 +1,31 @@ +--- configure.orig 2011-06-21 21:29:25.000000000 +0200 ++++ configure 2011-06-23 13:36:46.099381871 +0200 +@@ -1657,7 +1657,7 @@ + nm_opts='-g' + + # machine +-arch_default=$(uname -m) ++arch_default=$(uname -p) + cpu="generic" + + # OS +@@ -2966,8 +2966,8 @@ + texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html + + check_header linux/fb.h +-check_header linux/videodev.h +-check_header linux/videodev2.h ++#check_header linux/videodev.h ++#check_header linux/videodev2.h + check_header sys/videoio.h + + check_func_headers "windows.h vfw.h" capCreateCaptureWindow "$vfwcap_indev_extralibs" +@@ -3322,7 +3322,7 @@ + SRC_PATH="$source_path" + SRC_PATH_BARE=$source_path + CC_IDENT=$cc_ident +-ARCH=$arch ++FFMPEG_ARCH=$arch + CC=$cc + AS=$as + LD=$ld diff --git a/multimedia/ffmpeg0/files/patch-doc-protocols.texi b/multimedia/ffmpeg0/files/patch-doc-protocols.texi new file mode 100644 index 000000000000..1e078d04a96f --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-doc-protocols.texi @@ -0,0 +1,13 @@ +--- doc/protocols.texi.orig 2013-02-17 14:46:23.000000000 -0800 ++++ doc/protocols.texi 2013-10-08 12:00:38.375693236 -0700 +@@ -155,8 +155,8 @@ + + Real-Time Messaging Protocol. + +-The Real-Time Messaging Protocol (RTMP) is used for streaming multimeā +-dia content across a TCP/IP network. ++The Real-Time Messaging Protocol (RTMP) is used for streaming multimedia ++content across a TCP/IP network. + + The required syntax is: + @example diff --git a/multimedia/ffmpeg0/files/patch-libavcodec-Makefile b/multimedia/ffmpeg0/files/patch-libavcodec-Makefile new file mode 100644 index 000000000000..bfc359cff690 --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavcodec-Makefile @@ -0,0 +1,11 @@ +--- libavcodec/Makefile.orig 2010-08-01 20:33:53.484907333 +0200 ++++ libavcodec/Makefile 2010-08-01 20:34:26.190893400 +0200 +@@ -590,7 +590,7 @@ + + OBJS-$(CONFIG_MLIB) += mlib/dsputil_mlib.o \ + +--include $(SUBDIR)$(ARCH)/Makefile ++-include $(SUBDIR)$(FFMPEG_ARCH)/Makefile + + SKIPHEADERS = %_tablegen.h + SKIPHEADERS-$(CONFIG_DXVA2) += dxva2.h dxva2_internal.h diff --git a/multimedia/ffmpeg0/files/patch-libavcodec-libgsm.c b/multimedia/ffmpeg0/files/patch-libavcodec-libgsm.c new file mode 100644 index 000000000000..62f52c8206fe --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavcodec-libgsm.c @@ -0,0 +1,11 @@ +--- libavcodec/libgsm.c.orig 2010-07-21 10:24:16.297810379 +0200 ++++ libavcodec/libgsm.c 2010-07-21 10:24:22.915234561 +0200 +@@ -28,7 +28,7 @@ + // The idiosyncrasies of GSM-in-WAV are explained at http://kbs.cs.tu-berlin.de/~jutta/toast.html + + #include "avcodec.h" +-#include <gsm/gsm.h> ++#include <gsm.h> + + // gsm.h misses some essential constants + #define GSM_BLOCK_SIZE 33 diff --git a/multimedia/ffmpeg0/files/patch-libavdevice-bktr.c b/multimedia/ffmpeg0/files/patch-libavdevice-bktr.c new file mode 100644 index 000000000000..541775966313 --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavdevice-bktr.c @@ -0,0 +1,14 @@ +--- libavdevice/bktr.c.orig 2011-06-21 21:29:25.000000000 +0200 ++++ libavdevice/bktr.c 2011-06-23 13:39:44.160881669 +0200 +@@ -24,6 +24,11 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++typedef unsigned char u_char; ++typedef unsigned short u_short; ++typedef unsigned int u_int; ++typedef unsigned long u_long; ++ + #include "libavutil/log.h" + #include "libavutil/opt.h" + #include "libavutil/parseutils.h" diff --git a/multimedia/ffmpeg0/files/patch-libavdevice-oss_audio.c b/multimedia/ffmpeg0/files/patch-libavdevice-oss_audio.c new file mode 100644 index 000000000000..d3428dd5cefc --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavdevice-oss_audio.c @@ -0,0 +1,14 @@ +--- libavdevice/oss_audio.c.orig 2009-05-15 17:38:35.000000000 +0200 ++++ libavdevice/oss_audio.c 2009-05-15 17:41:27.000000000 +0200 +@@ -19,6 +19,11 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++typedef unsigned char u_char; ++typedef unsigned short u_short; ++typedef unsigned int u_int; ++typedef unsigned long u_long; ++ + #include "config.h" + #include <stdlib.h> + #include <stdio.h> diff --git a/multimedia/ffmpeg0/files/patch-libavfilter-Makefile b/multimedia/ffmpeg0/files/patch-libavfilter-Makefile new file mode 100644 index 000000000000..be35a25555cf --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavfilter-Makefile @@ -0,0 +1,11 @@ +--- libavfilter/Makefile.orig 2011-06-23 16:22:46.163337772 +0200 ++++ libavfilter/Makefile 2011-06-23 16:22:53.731245405 +0200 +@@ -136,7 +136,7 @@ + OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/pullup.o + + +--include $(SUBDIR)$(ARCH)/Makefile ++-include $(SUBDIR)$(FFMPEG_ARCH)/Makefile + + DIRS = x86 libmpcodecs + diff --git a/multimedia/ffmpeg0/files/patch-libavfilter-vf_libopencv.c b/multimedia/ffmpeg0/files/patch-libavfilter-vf_libopencv.c new file mode 100644 index 000000000000..28cccd3cb5bf --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavfilter-vf_libopencv.c @@ -0,0 +1,12 @@ +--- libavfilter/vf_libopencv.c.orig 2011-06-27 21:27:01.521012341 +0200 ++++ libavfilter/vf_libopencv.c 2011-06-27 21:27:16.839540294 +0200 +@@ -25,8 +25,7 @@ + + /* #define DEBUG */ + +-#include <opencv/cv.h> +-#include <opencv/cxcore.h> ++#include <opencv2/imgproc/imgproc_c.h> + #include "libavutil/avstring.h" + #include "libavutil/file.h" + #include "avfilter.h" diff --git a/multimedia/ffmpeg0/files/patch-libavformat-udp.c b/multimedia/ffmpeg0/files/patch-libavformat-udp.c new file mode 100644 index 000000000000..0042372ae7b5 --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavformat-udp.c @@ -0,0 +1,11 @@ +--- libavformat/udp.c.orig 2009-05-15 17:24:45.000000000 +0200 ++++ libavformat/udp.c 2009-05-15 17:27:17.000000000 +0200 +@@ -45,6 +45,8 @@ + #define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff) + #endif + ++#define IPPROTO_IPV6 41 ++ + typedef struct { + int udp_fd; + int ttl; diff --git a/multimedia/ffmpeg0/files/patch-libavutil-common.h b/multimedia/ffmpeg0/files/patch-libavutil-common.h new file mode 100644 index 000000000000..9bb629bc0ab8 --- /dev/null +++ b/multimedia/ffmpeg0/files/patch-libavutil-common.h @@ -0,0 +1,13 @@ +--- libavutil/common.h.orig 2010-04-26 23:01:38.000000000 +0200 ++++ libavutil/common.h 2010-07-10 16:06:27.038027901 +0200 +@@ -36,6 +36,10 @@ + #include <string.h> + #include "attributes.h" + ++#ifndef UINT64_C ++#define UINT64_C(c) (c ## UL) ++#endif ++ + //rounded division & shift + #define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b)) + /* assume b>0 */ diff --git a/multimedia/ffmpeg0/pkg-descr b/multimedia/ffmpeg0/pkg-descr new file mode 100644 index 000000000000..a57c13b8945e --- /dev/null +++ b/multimedia/ffmpeg0/pkg-descr @@ -0,0 +1,24 @@ +[ excerpt (with adaptations) from developer's README ] +ffmpeg is a hyper fast realtime audio/video encoder, a streaming +server and a generic audio and video file converter. + +It can convert a standard video source into several file formats +based on DCT/motion compensation encoding. Sound is compressed in +MPEG audio layer 2 or using an AC3 compatible stream. + +What makes ffmpeg interesting ? +- Simple and efficient video encoder: outputs MPEG1, H263, Real + Video(tm), MPEG4, DIVX and MJPEG compatible bitstreams using the + same encoder core. +- Hyper fast MPEG audio layer 2 compression (50 times faster than + realtime on a K6 500). +[snip -> rest on website below] + +ffmpeg is made of two programs: +* ffmpeg: soft VCR which encodes in real time to several formats. + It can also encode from any supported input file format to any + input supported format. +* ffserver: high performance live broadcast streaming server based + on the ffmpeg core encoders. + +WWW: http://ffmpeg.mplayerhq.hu/ diff --git a/multimedia/ffmpeg0/pkg-plist b/multimedia/ffmpeg0/pkg-plist new file mode 100644 index 000000000000..4a98fbe4e5bd --- /dev/null +++ b/multimedia/ffmpeg0/pkg-plist @@ -0,0 +1,154 @@ +bin/ffmpeg%%SUFF%% +bin/ffprobe%%SUFF%% +%%FFSERVER%%bin/ffserver%%SUFF%% +%%FFSERVER%%@unexec if cmp -s %D/etc/ffserver%%SUFF%%.conf %D/etc/ffserver%%SUFF%%.conf-dist; then rm -f %D/etc/ffserver%%SUFF%%.conf; fi +%%FFSERVER%%etc/ffserver%%SUFF%%.conf-dist +%%FFSERVER%%@exec [ -f %B/ffserver%%SUFF%%.conf ] || cp %B/%f %B/ffserver%%SUFF%%.conf +etc/rc.d/ffserver%%SUFF%% +include/ffmpeg%%SUFF%%/libavcodec/avcodec.h +include/ffmpeg%%SUFF%%/libavcodec/avfft.h +include/ffmpeg%%SUFF%%/libavcodec/dxva2.h +include/ffmpeg%%SUFF%%/libavcodec/opt.h +include/ffmpeg%%SUFF%%/libavcodec/vaapi.h +include/ffmpeg%%SUFF%%/libavcodec/vdpau.h +include/ffmpeg%%SUFF%%/libavcodec/version.h +include/ffmpeg%%SUFF%%/libavcodec/xvmc.h +include/ffmpeg%%SUFF%%/libavdevice/avdevice.h +include/ffmpeg%%SUFF%%/libavfilter/avcodec.h +include/ffmpeg%%SUFF%%/libavfilter/avfilter.h +include/ffmpeg%%SUFF%%/libavfilter/avfiltergraph.h +include/ffmpeg%%SUFF%%/libavfilter/vsink_buffer.h +include/ffmpeg%%SUFF%%/libavfilter/vsrc_buffer.h +include/ffmpeg%%SUFF%%/libavformat/avformat.h +include/ffmpeg%%SUFF%%/libavformat/avio.h +include/ffmpeg%%SUFF%%/libavformat/version.h +include/ffmpeg%%SUFF%%/libavutil/adler32.h +include/ffmpeg%%SUFF%%/libavutil/aes.h +include/ffmpeg%%SUFF%%/libavutil/attributes.h +include/ffmpeg%%SUFF%%/libavutil/audioconvert.h +include/ffmpeg%%SUFF%%/libavutil/avassert.h +include/ffmpeg%%SUFF%%/libavutil/avconfig.h +include/ffmpeg%%SUFF%%/libavutil/avstring.h +include/ffmpeg%%SUFF%%/libavutil/avutil.h +include/ffmpeg%%SUFF%%/libavutil/base64.h +include/ffmpeg%%SUFF%%/libavutil/bswap.h +include/ffmpeg%%SUFF%%/libavutil/common.h +include/ffmpeg%%SUFF%%/libavutil/cpu.h +include/ffmpeg%%SUFF%%/libavutil/crc.h +include/ffmpeg%%SUFF%%/libavutil/dict.h +include/ffmpeg%%SUFF%%/libavutil/error.h +include/ffmpeg%%SUFF%%/libavutil/eval.h +include/ffmpeg%%SUFF%%/libavutil/fifo.h +include/ffmpeg%%SUFF%%/libavutil/file.h +include/ffmpeg%%SUFF%%/libavutil/imgutils.h +include/ffmpeg%%SUFF%%/libavutil/intfloat_readwrite.h +include/ffmpeg%%SUFF%%/libavutil/intreadwrite.h +include/ffmpeg%%SUFF%%/libavutil/lfg.h +include/ffmpeg%%SUFF%%/libavutil/log.h +include/ffmpeg%%SUFF%%/libavutil/lzo.h +include/ffmpeg%%SUFF%%/libavutil/mathematics.h +include/ffmpeg%%SUFF%%/libavutil/md5.h +include/ffmpeg%%SUFF%%/libavutil/mem.h +include/ffmpeg%%SUFF%%/libavutil/opt.h +include/ffmpeg%%SUFF%%/libavutil/parseutils.h +include/ffmpeg%%SUFF%%/libavutil/pixdesc.h +include/ffmpeg%%SUFF%%/libavutil/pixfmt.h +include/ffmpeg%%SUFF%%/libavutil/random_seed.h +include/ffmpeg%%SUFF%%/libavutil/rational.h +include/ffmpeg%%SUFF%%/libavutil/samplefmt.h +include/ffmpeg%%SUFF%%/libavutil/sha.h +include/ffmpeg%%SUFF%%/libavutil/sha1.h +include/ffmpeg%%SUFF%%/libpostproc/postprocess.h +include/ffmpeg%%SUFF%%/libswscale/swscale.h +lib/ffmpeg%%SUFF%%/libavcodec0.a +lib/ffmpeg%%SUFF%%/libavcodec0.so +lib/ffmpeg%%SUFF%%/libavcodec0.so.1 +lib/ffmpeg%%SUFF%%/libavcodec0.so.52.123.0 +lib/ffmpeg%%SUFF%%/libavdevice0.a +lib/ffmpeg%%SUFF%%/libavdevice0.so +lib/ffmpeg%%SUFF%%/libavdevice0.so.1 +lib/ffmpeg%%SUFF%%/libavdevice0.so.52.5.0 +lib/ffmpeg%%SUFF%%/libavfilter0.a +lib/ffmpeg%%SUFF%%/libavfilter0.so +lib/ffmpeg%%SUFF%%/libavfilter0.so.1 +lib/ffmpeg%%SUFF%%/libavfilter0.so.1.80.0 +lib/ffmpeg%%SUFF%%/libavformat0.a +lib/ffmpeg%%SUFF%%/libavformat0.so +lib/ffmpeg%%SUFF%%/libavformat0.so.1 +lib/ffmpeg%%SUFF%%/libavformat0.so.52.111.0 +lib/ffmpeg%%SUFF%%/libavutil0.a +lib/ffmpeg%%SUFF%%/libavutil0.so +lib/ffmpeg%%SUFF%%/libavutil0.so.1 +lib/ffmpeg%%SUFF%%/libavutil0.so.50.43.0 +lib/ffmpeg%%SUFF%%/libpostproc0.a +lib/ffmpeg%%SUFF%%/libpostproc0.so +lib/ffmpeg%%SUFF%%/libpostproc0.so.1 +lib/ffmpeg%%SUFF%%/libpostproc0.so.51.2.0 +lib/ffmpeg%%SUFF%%/libswscale0.a +lib/ffmpeg%%SUFF%%/libswscale0.so +lib/ffmpeg%%SUFF%%/libswscale0.so.0.14.1 +lib/ffmpeg%%SUFF%%/libswscale0.so.1 +libdata/pkgconfig/libavcodec0.pc +libdata/pkgconfig/libavdevice0.pc +libdata/pkgconfig/libavfilter0.pc +libdata/pkgconfig/libavformat0.pc +libdata/pkgconfig/libavutil0.pc +libdata/pkgconfig/libpostproc0.pc +libdata/pkgconfig/libswscale0.pc +man/man1/ffmpeg%%SUFF%%.1.gz +man/man1/ffprobe%%SUFF%%.1.gz +man/man1/ffserver%%SUFF%%.1.gz +%%PORTDOCS%%%%DOCSDIR%%/APIchanges +%%PORTDOCS%%%%DOCSDIR%%/CREDITS +%%PORTDOCS%%%%DOCSDIR%%/INSTALL +%%PORTDOCS%%%%DOCSDIR%%/LICENSE +%%PORTDOCS%%%%DOCSDIR%%/MAINTAINERS +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/RELEASE +%%PORTDOCS%%%%DOCSDIR%%/RELEASE_NOTES +%%PORTDOCS%%%%DOCSDIR%%/TODO +%%PORTDOCS%%%%DOCSDIR%%/avutil.txt +%%PORTDOCS%%%%DOCSDIR%%/build_system.txt +%%PORTDOCS%%%%DOCSDIR%%/developer.html +%%PORTDOCS%%%%DOCSDIR%%/faq.html +%%PORTDOCS%%%%DOCSDIR%%/fate.txt +%%PORTDOCS%%%%DOCSDIR%%/ffmpeg.html +%%PORTDOCS%%%%DOCSDIR%%/ffprobe.html +%%PORTDOCS%%%%DOCSDIR%%/ffserver.html +%%PORTDOCS%%%%DOCSDIR%%/general.html +%%PORTDOCS%%%%DOCSDIR%%/git-howto.txt +%%PORTDOCS%%%%DOCSDIR%%/issue_tracker.txt +%%PORTDOCS%%%%DOCSDIR%%/libavfilter.html +%%PORTDOCS%%%%DOCSDIR%%/multithreading.txt +%%PORTDOCS%%%%DOCSDIR%%/optimization.txt +%%PORTDOCS%%%%DOCSDIR%%/rate_distortion.txt +%%PORTDOCS%%%%DOCSDIR%%/snow.txt +%%PORTDOCS%%%%DOCSDIR%%/soc.txt +%%PORTDOCS%%%%DOCSDIR%%/swscale.txt +%%PORTDOCS%%%%DOCSDIR%%/tablegen.txt +%%PORTDOCS%%%%DOCSDIR%%/viterbi.txt +%%DATADIR%%/libvpx-1080p.ffpreset +%%DATADIR%%/libvpx-1080p50_60.ffpreset +%%DATADIR%%/libvpx-360p.ffpreset +%%DATADIR%%/libvpx-720p.ffpreset +%%DATADIR%%/libvpx-720p50_60.ffpreset +%%DATADIR%%/libx264-baseline.ffpreset +%%DATADIR%%/libx264-ipod320.ffpreset +%%DATADIR%%/libx264-ipod640.ffpreset +%%DATADIR%%/libx264-lossless_fast.ffpreset +%%DATADIR%%/libx264-lossless_max.ffpreset +%%DATADIR%%/libx264-lossless_medium.ffpreset +%%DATADIR%%/libx264-lossless_slow.ffpreset +%%DATADIR%%/libx264-lossless_slower.ffpreset +%%DATADIR%%/libx264-lossless_ultrafast.ffpreset +@dirrmtry %%DATADIR%% +%%PORTDOCS%%@dirrmtry %%DOCSDIR%% +@dirrmtry lib/ffmpeg%%SUFF%% +@dirrmtry include/ffmpeg%%SUFF%%/libswscale +@dirrmtry include/ffmpeg%%SUFF%%/libpostproc +@dirrmtry include/ffmpeg%%SUFF%%/libavutil +@dirrmtry include/ffmpeg%%SUFF%%/libavformat +@dirrmtry include/ffmpeg%%SUFF%%/libavfilter +@dirrmtry include/ffmpeg%%SUFF%%/libavdevice +@dirrmtry include/ffmpeg%%SUFF%%/libavcodec +@dirrmtry include/ffmpeg%%SUFF%% |