diff options
author | Karl Berry <karl@freefriends.org> | 2010-11-18 00:32:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-11-18 00:32:29 +0000 |
commit | b0d699e2447b26d9c7ad15895cefb0a54d96872a (patch) | |
tree | 26a4e76d89a1c638cefc8f0783e4bea293222087 | |
parent | 6ddbdfefdfa08fd1da77e6d5f8d3edec8e81d15c (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) | bin | 895179 -> 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.tex | 177 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf | bin | 458748 -> 458745 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty | 136 |
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 Binary files differindex 8bf2195fa08..7fa042a930f 100644 --- a/Master/texmf-dist/doc/latex/flashmovie/test-beamer.pdf +++ b/Master/texmf-dist/doc/latex/flashmovie/test-beamer-0.pdf 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 Binary files differindex b3bdcbf01fa..d7081290f20 100644 --- a/Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf +++ b/Master/texmf-dist/doc/latex/flashmovie/test-flv.pdf 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 |