summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-11-18 00:32:29 +0000
committerKarl Berry <karl@freefriends.org>2010-11-18 00:32:29 +0000
commitb0d699e2447b26d9c7ad15895cefb0a54d96872a (patch)
tree26a4e76d89a1c638cefc8f0783e4bea293222087
parent6ddbdfefdfa08fd1da77e6d5f8d3edec8e81d15c (diff)
flashmovie (17nov10)
git-svn-id: svn://tug.org/texlive/trunk@20470 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.pdf (renamed from Master/texmf-dist/doc/latex/flashmovie/test-beamer.pdf)bin895179 -> 894971 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.tex (renamed from Master/texmf-dist/doc/latex/flashmovie/test-beamer.tex)15
-rw-r--r--Master/texmf-dist/doc/latex/flashmovie/test-beamer-1.tex177
-rw-r--r--Master/texmf-dist/doc/latex/flashmovie/test-flv.pdfbin458748 -> 458745 bytes
-rw-r--r--Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty136
5 files changed, 283 insertions, 45 deletions
diff --git a/Master/texmf-dist/doc/latex/flashmovie/test-beamer.pdf b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.pdf
index 8bf2195fa08..7fa042a930f 100644
--- a/Master/texmf-dist/doc/latex/flashmovie/test-beamer.pdf
+++ b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flashmovie/test-beamer.tex b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.tex
index d67cf4e34f1..0c96217c16a 100644
--- a/Master/texmf-dist/doc/latex/flashmovie/test-beamer.tex
+++ b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.tex
@@ -2,6 +2,10 @@
% it is neccessay to use "\RequirePackage{flashmovie}" because beamer
% also uses "\pdfminorversion". see flashmovie.sty for an explanation.
+%---------------------------------------------
+% pure-flash-example
+%---------------------------------------------
+
\documentclass[10pt]{beamer}
\usepackage[english]{babel}
@@ -112,15 +116,8 @@ rendered by a player. So no controls are available.
beamer. If you try it, the acrobat reader often crashes while trying
to change the page. I have no idea what is the cause of this problem.
-\item The only reliable way to use beamer is to directly embed the videos
-as flash animations.
-
-\item Another option is to use the JW player. It seems to work with beamer,
-but is only rudimentary supported.
-
-\item Any competent help on this issue would be appreciated. This might be
-another open source player which works with beamer or a fix of the flv-player
-or something else.
+\item The only reliable way to use beamer seems to be directly embedding the videos as
+ flash animations or to use the JW player.
\end{itemize}
diff --git a/Master/texmf-dist/doc/latex/flashmovie/test-beamer-1.tex b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-1.tex
new file mode 100644
index 00000000000..d3cdddceb23
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-1.tex
@@ -0,0 +1,177 @@
+\RequirePackage{flashmovie}
+% it is neccessay to use "\RequirePackage{flashmovie}" because beamer
+% also uses "\pdfminorversion". see flashmovie.sty for an explanation.
+
+%---------------------------------------------
+% jw-player-example
+%---------------------------------------------
+
+\documentclass[10pt]{beamer}
+
+\usepackage[english]{babel}
+\usepackage{hyperref}
+
+\usetheme{Warsaw} % Warsaw,Hannover,boxes
+\usecolortheme{rose} % orchid,lily,dolphin,beetle,crane
+\usefonttheme{professionalfonts} % professionalfonts,serif
+\useinnertheme{rounded} % rounded
+\useoutertheme{shadow} % shadow,sidebar,split
+
+%---------------------------------------------
+
+\setbeamersize{text margin left=0.3cm} % small margins
+\setbeamersize{text margin right=0.3cm}
+
+%---------------------------------------------
+% for writing a document is is convenient to switch movies off. to do this,
+% use "blank=1" as an option. in order to use the videos, use "blank=0".
+%
+% to make thinks easy, use "blank=\myblank" as an option and define
+% \myblank as suitable.
+
+\def\myblank{0}
+%\def\myblank{1}
+
+%\def\mymovie{saturn5}
+\def\mymovie{flagmoon} % if the noise of saturn5 annoyes to much
+
+%---------------------------------------------
+
+\title[flashmovie.sty]{flashmovie.sty}
+\author[\href{mailto:thartmann15@googlemail.com}{Timo Hartmann}]{\href{mailto:thartmann15@googlemail.com}{Timo Hartmann}}
+
+\date[2010]{}
+
+%---------------------------------------------
+
+\begin{document}
+
+\frame{
+
+\titlepage
+
+\begin{block}{\alert{Warning}}
+It is recommended to use the latest available version of the Adobe Reader
+to view PDF files generated with flashmovie.sty.
+% Otherwise your Adobe Reader may die a sudden painfull death...
+\end{block}
+
+} % end frame
+
+%---------------------------------------------
+
+\begin{frame}
+
+\frametitle{Basics}
+
+\begin{minipage}[t]{6.1cm}
+\vspace{0cm}
+\flashmovie[width=6cm,height=5cm,engine=jw-player,auto=1,blank=\myblank]{\mymovie.mp4}
+\end{minipage}
+\begin{minipage}[t]{5.7cm}
+\vspace{0cm}
+This package allows direct embedding of flash movies into PDF files. It is
+designed for use with pdflatex.
+\vspace{0.5cm}
+
+Basically it uses the fact that the Adobe Reader 9 contains an embedded Adobe Flash
+player which can be invoked with the ``rich media annotation'' feature which is described
+in ``Adobe Supplement to the ISO 32000 BaseVersion: 1.7 ExtensionLevel: 3''.
+\vspace{0.5cm}
+
+This means that you can only use flashmovie.sty in combination
+with Adobe Reader 9 and upwards.
+
+\end{minipage}
+
+\vspace{0.5cm}
+
+P.S.: This sample video is courtesy of the NASA ( \href{http://heasarc.gsfc.nasa.gov/Videos/historical/\mymovie.avi}{\mymovie.avi} ).
+
+\end{frame}
+
+%---------------------------------------------
+
+\begin{frame}[fragile]
+
+\frametitle{\href{http://www.longtailvideo.com/players/jw-flv-player}{JW Player}}
+
+The source code used for the video on the previous page is:
+
+\begin{verbatim}
+\flashmovie[width=6cm,height=5cm,
+ engine=jw-player,auto=1]{movie.mp4}
+\end{verbatim}
+
+This means that the movie is rendered with the
+\href{http://www.longtailvideo.com/players/jw-flv-player}{``JW Player''}
+from longtail video (\href{http://www.longtailvideo.com}{www.longtailvideo.com}).
+
+\vspace{0.5cm}
+
+This is an open source flash player released under a
+\href{http://creativecommons.org/licenses/by-nc-sa/3.0/}{non-commercial license},
+which means its free for non-commercial use.
+
+\end{frame}
+
+%---------------------------------------------
+
+\begin{frame}[fragile]
+
+\frametitle{Issues with the flv-player}
+
+\begin{itemize}
+
+\item Sadly the \href{http://flv-player.net}{flv-player} does not work
+reliably with the latex package beamer. If you try it, the acrobat reader
+often crashes while trying to change the page. I have no idea
+what is the cause of this problem.
+
+\item The only reliable way to use beamer seems to be directly embedding the videos as
+ flash animations or to use the JW player.
+
+\end{itemize}
+
+\end{frame}
+
+%---------------------------------------------
+
+\begin{frame}[fragile]
+
+\frametitle{Options for the \href{http://www.longtailvideo.com/players/jw-flv-player}{JW Player}}
+
+\begin{minipage}[t]{4.1cm}
+\vspace{0cm}
+\flashmovie[width=4cm,height=3cm,engine=jw-player,auto=0,controlbar=0,blank=\myblank]{\mymovie.mp4}
+\end{minipage}
+\begin{minipage}[t]{7cm}
+\vspace{0cm}
+In this example the video is not started before the user clicks on it. The controlbar is disabled, too.
+\begin{verbatim}
+\flashmovie[width=4cm,height=3cm,
+ engine=jw-player,auto=0,
+ controlbar=0]{movie.mp4}
+\end{verbatim}
+\end{minipage}
+
+\begin{minipage}[t]{4.1cm}
+\vspace{0cm}
+\flashmovie[width=4cm,height=3cm,engine=jw-player,auto=0,image=saturn.jpg,blank=\myblank,loop=1]{\mymovie.mp4}
+\end{minipage}
+\begin{minipage}[t]{7cm}
+\vspace{0cm}
+Here additionally an image is displayed before the movie starts. The movie also loops.
+\begin{verbatim}
+\flashmovie[width=4cm,height=3cm,
+ engine=jw-player,auto=0,
+ image=saturn.jpg,loop=1]
+ {movie.mp4}
+\end{verbatim}
+\end{minipage}
+
+\end{frame}
+
+%---------------------------------------------
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf b/Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf
index b3bdcbf01fa..d7081290f20 100644
--- a/Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf
+++ b/Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty b/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty
index 0603e59a3b9..865fa0a2505 100644
--- a/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty
+++ b/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty
@@ -1,9 +1,10 @@
%%%%%%%%%%%%% flashmovie.sty
%%%%%%%%%%%%% Copyright 2010 Timo Hartmann (thartmann15 at googlemail.com)
%
-% Version 0.3
+% Version 0.4
%
% changelog:
+% 0.4 : 2010-09-13 : better support for jw-player, minor bug fixes
% 0.3 : 2010-09-09 : better examples,minor bug fixes, issues with beamer explained
% 0.2 : 2010-04-21 : major overhaul: keyval 'engine', flv-player-engine,
% efficient multiple embedding of files,...
@@ -72,6 +73,13 @@
% directly embedded. This works only for swf-files.
% For other possible values of "engine" see the chapter "flash-video-players".
%
+% supported file formats:
+% - flash animations ( ".swf" files) via direct embedding
+% - mp4 movies (".mp4" files) via an embedded flash-video-player
+% - flv movies (".flv" files) via an embedded flash-video-player
+%
+% attention:
+% - avi videos (".avi" files) don't work !
%
% flash-video-players:
% There are several flash-video-players available which fit the needs
@@ -79,9 +87,11 @@
% for example: "\flashmovie[width=10cm,height=10cm,engine=flv-player]{saturn5.mp4}".
%
% The use of "engine=flv-player" is recommended, because it is supported best and
-% the flv-player is included in this distribution.
+% the flv-player is included in this distribution. But there seems to be some
+% incompatibilities of flv-player and beamer. See troubleshooting below.
%
% List of flash-video-players:
+%
% - "engine=flv-player". This is an open-source player from http://flv-player.net.
% It is included with this distribution (the file player_flv_maxi.swf).
% The developer is neolao. See the directory flv-player-license for the license of it.
@@ -92,16 +102,26 @@
% auto=1 --> auto-play on
% image=someimage.jpeg --> start-image (not necessary)
%
+% - "engine=jw-player". This is the JW player from http://www.longtailvideo.com/players/jw-flv-player.
+% You have to obtain player.swf from that site and put it in the working directory in order
+% to use this module. Its released under a creative common license which means its free
+% for non-commercial use.
+% It is NOT included in this distribution.
+%
+% supported parameters:
+% auto=0 --> auto-play off (default)
+% auto=1 --> auto-play on
+% image=someimage.jpeg --> start-image (not necessary)
+% controlbar=0 --> no control bar shown
+% controlbar=1 --> control bar shown (default)
+% loop=0 --> do not loop the video (default)
+% loop=1 --> loop the video
+%
% - "engine=acropro". This is an commercial player which is distributed with
% Acrobat 9 Pro. You have to obtain VideoPlayer.swf and SkinOverPlaySeekStop.swf
% from Acrobat 9 Pro and put them into the working directory in order to use that module.
% It is NOT included in this distribution.
% For this player flashmovie.sty only provides rudimentary support.
-% - "engine=jw-player". This is the JW player from http://www.longtailvideo.com/players/jw-flv-player.
-% You have to obtain player.swf from that site and put it in the working directory in order
-% to use this module.
-% It is NOT included in this distribution.
-% For this player flashmovie.sty only provides rudimentary support.
% - "engine=osplayer". This is an open-source player from http://www.osflv.com
% You have to obtain OSplayer.swf from that site and put it in the working directory in order
% to use this module.
@@ -158,6 +178,12 @@
% - superior video codec possible (h.264)
% - one can directly embed mp4 and flv files without conversion
%
+% how to produce swf-files:
+% - ffmpeg or mencoder : transform a video file into a flash animation (example: .mp4 --> .swf)
+% - png2swf : transform a sequence of png files into a flash animation (example: .png --> .swf)
+% - flex sdk : use action script to program your own flash applet
+% - mtasc and swfmill : use action script to program your own flash applet (outdated, should not be used)
+%
% todo:
% - make more options of rich-media annotations usable, for example activation by clicking, play-count,...
%
@@ -182,13 +208,8 @@
% - There seems to be some trouble with the latex package beamer. You can't use
% the flv-player reliably with it. It is prone to crash the acrobat reader while
% changing pages.
-% The only reliable way to use beamer is to directly embed the videos as
-% flash animations.
-% Another option is to use the JW player. It seems to work with beamer,
-% but is only rudimentary supported.
-% Any competent help on this issue would be appreciated. This might be
-% another open source player which works with beamer or a fix of the flv-player
-% or something else.
+% The only reliable way to use beamer seems to be directly embedding the videos as
+% flash animations or to use the JW player.
%
% warning:
% - It is recommended to use always the latest available version of the Adobe Reader.
@@ -214,6 +235,8 @@
\def\flashmovieauto{0}
\def\flashmovieengine{}
\def\flashmoviekblank{0}
+ \def\flashmoviecontrolbar{1}
+ \def\flashmovieloop{0}
}
\define@key{flashmovieparams}{width} {\def\flashmoviewidth {#1}}
@@ -222,6 +245,8 @@
\define@key{flashmovieparams}{auto} {\def\flashmovieauto {#1}}
\define@key{flashmovieparams}{engine} {\def\flashmovieengine {#1}}
\define@key{flashmovieparams}{blank} {\def\flashmoviekblank {#1}}
+\define@key{flashmovieparams}{controlbar} {\def\flashmoviecontrolbar{#1}}
+\define@key{flashmovieparams}{loop} {\def\flashmovieloop{#1}}
\newlength{\flashmovie@width}
\newlength{\flashmovie@height}
@@ -253,28 +278,28 @@
% \flashmovieembedfile{somefile}
% \edef\flashmovie@e@somefile{\flashmovieembedded}
-\def\flashmovieembedfileinternal#1{
- \immediate
+\def\flashmovieembedfileinternal#1{%
+ \immediate%
\pdfobj stream
attr { /Type/EmbeddedFile }
- file {#1}
- \immediate
- \pdfobj { <<
+ file {#1}%
+ \immediate%
+ \pdfobj{ <<
/Type /Filespec
/F (#1)
/UF (#1)
/EF << /F \the\pdflastobj\space 0 R >>
- >>}
+ >>}%
}
-\def\flashmovieembedfile#1{
- \ifthenelse{\equal{\flashmovieget{\pdfmdfivesum file {#1}}}{\flashmovieempty}}{
- \flashmovieembedfileinternal{#1}
- \def\flashmovieembedded{\the\pdflastobj}
- \flashmovieset{\pdfmdfivesum file {#1}}{\flashmovieembedded}
- }{
- \def\flashmovieembedded{\flashmovieget{\pdfmdfivesum file {#1}}}
- }
+\def\flashmovieembedfile#1{%
+ \ifthenelse{\equal{\flashmovieget{\pdfmdfivesum file {#1}}}{\flashmovieempty}}{%
+ \flashmovieembedfileinternal{#1}%
+ \def\flashmovieembedded{\the\pdflastobj}%
+ \flashmovieset{\pdfmdfivesum file {#1}}{\flashmovieembedded}%
+ }{%
+ \def\flashmovieembedded{\flashmovieget{\pdfmdfivesum file {#1}}}%
+ }%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -354,7 +379,7 @@
/Animation
<< /Subtype /Linear
/Speed 1
- /Playcount 1
+ /PlayCount 1
>>
/Presentation
<< /PassContextClick false
@@ -460,7 +485,7 @@
/Animation
<< /Subtype /Linear
/Speed 1
- /Playcount 1
+ /PlayCount 1
>>
/Presentation
<< /PassContextClick false
@@ -536,6 +561,13 @@
\def\flashmovieautovari{&autoplay=1}
\fi
+ % looping is initialized here
+ \ifx\flashmovieloop\flashmoviezero
+ \def\flashmovieloopvari{&loop=0}
+ \else
+ \def\flashmovieloopvari{&loop=1}
+ \fi
+
\immediate
\pdfobj
{<<
@@ -545,7 +577,7 @@
/Params
<<
/Binding /Foreground
- /FlashVars (flv=#2&margin=0&showvolume=1&showstop=1&showtime=1&videobgcolor=0xFFFFFF&\flashmovieautovari\flashmovieimagevari&loop=1)
+ /FlashVars (flv=#2&margin=0&showvolume=1&showstop=1&showtime=1&videobgcolor=0xFFFFFF\flashmovieautovari\flashmovieimagevari\flashmovieloopvari)
>>
>>]
/Subtype /Flash
@@ -571,7 +603,7 @@
/Animation
<< /Subtype /Linear
/Speed 1
- /Playcount 1
+ /PlayCount 1
>>
/Presentation
<< /PassContextClick false
@@ -628,6 +660,38 @@
\flashmovieembedfile{player.swf}
\edef\flashmovie@e@player{\flashmovieembedded}
+ % startimage is initialized here
+ \ifx\flashmovieimage\flashmovieempty
+ \def\flashmovieimagevari{}
+ \def\flashmovieimagevarii{}
+ \else
+ \flashmovieembedfile{\flashmovieimage}
+ \edef\flashmovie@e@image{\flashmovieembedded}
+ \def\flashmovieimagevari{&image=\flashmovieimage}
+ \def\flashmovieimagevarii{(\flashmovieimage) \flashmovie@e@image\space 0 R}
+ \fi
+
+ % autoplay is initialized here
+ \ifx\flashmovieauto\flashmoviezero
+ \def\flashmovieautovari{}
+ \else
+ \def\flashmovieautovari{&autostart=true}
+ \fi
+
+ % controlbar is initialized here
+ \ifx\flashmoviecontrolbar\flashmoviezero
+ \def\flashmoviecontrolbarvari{&controlbar=none}
+ \else
+ \def\flashmoviecontrolbarvari{}
+ \fi
+
+ % looping is initialized here
+ \ifx\flashmovieloop\flashmoviezero
+ \def\flashmovieloopvari{}
+ \else
+ \def\flashmovieloopvari{&repeat=always}
+ \fi
+
\immediate
\pdfobj
{<<
@@ -637,7 +701,7 @@
/Params
<<
/Binding /Foreground
- /FlashVars (file=#2)
+ /FlashVars (file=#2\flashmovieimagevari\flashmovieautovari\flashmoviecontrolbarvari\flashmovieloopvari)
>>
>>]
/Subtype /Flash
@@ -648,7 +712,7 @@
\pdfobj
{<<
/Assets << /Names
- [(#2) \flashmovie@e@video\space 0 R (player.swf) \flashmovie@e@player\space 0 R] >>
+ [(#2) \flashmovie@e@video\space 0 R (player.swf) \flashmovie@e@player\space 0 R \flashmovieimagevarii] >>
/Configurations [\the\flashmovie@n@config\space 0 R]
>>}
\flashmovie@n@content=\pdflastobj
@@ -663,7 +727,7 @@
/Animation
<< /Subtype /Linear
/Speed 1
- /Playcount 1
+ /PlayCount 1
>>
/Presentation
<< /PassContextClick false
@@ -755,7 +819,7 @@
/Animation
<< /Subtype /Linear
/Speed 1
- /Playcount 1
+ /PlayCount 1
>>
/Presentation
<< /PassContextClick false