Alguém conseguiu reproduzir filmes incorporados no Acrobat no Linux?

Alguém conseguiu reproduzir filmes incorporados no Acrobat no Linux?

Há algum tempo eu fiz essa perguntaComo incluir um filme em um PDF? Instruções passo a passo. (Tentei tudo o que está documentado lá e os links nele contidos. Não consigo encontrar a combinação de ferramentas para reproduzir filmes incorporados em um visualizador de PDF no Linux.)

Desta vez vou ser mais direto: alguém, com uma certa combinação de ferramentas e visualizador, foi capaz de criar um PDF a partir do TeX com um filme incorporado e reproduzi-lo em um visualizador Linux (por exemplo, alguma versão do Acrobat)?

Se sim, qual pacote, versão tex, versão acrobat foi usado?


EDITAR 2014

Graças ao @AlexG, grandes avanços foram feitos no que diz respeito à inclusão de filmes e em particular à reprodução no Linux. É uma pena que o Acrobat para Linux esteja no fim de sua vida útil (não tanto para a Adobe, mas porque ninguém está pegando a tocha pela mídia incorporada).

Esta edição simplesmente resume uma solução funcional que é ilustrada pela definição de um comando \includemove[dimensions]{moviewithoutextension}, que produz filmes que podem ser reproduzidos no Acrobat 9.4.1 (Linux), Acrobat para Windows e Mac e que recorre a players externos (e uma imagem estática) em outros visualizadores de PDF.

Premissas:

  1. Você tem uma cópia do jw-player 5.10 ( not 5.9 or 6.x) em seu diretório local e ela se chama player.swf. (daquihttp://developer.longtailvideo.com/trac/browser/tags/mediaplayer-5.10, documentação aqui:http://www.longtailvideo.com/support/jw5/31138/configuration-options)
  2. Você tem ffmpega versão 2.1.4.
  3. Você tem uma cópia do seu filme no mp4formato. Qualquer filme pode ser convertido desta forma

    ffmpeg -i $MYMOVIE.vid -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -profile:v high -pix_fmt yuv420p -g 25 -r 25 $MYMOVIE.mp4

    ffmpeg -i $MYMOVIE.vid -qscale 0 -vcodec libx264 -x264opts keyint=25 $MYMOVE.mp4

  4. Uma imagem de visualização com o mesmo nome, mas com extensão png. Isso pode ser conseguido convertendo seu filme desta forma e tirando uma foto:

    ffmpeg -i $MYMOVIE.mp4 -ss 00:00:2.1 -f image2 -vframes 1 $MYMOVIE.png

  5. [opcional] Uma imagem PDF com o mesmo nome, mas com pdfextensão para substituir a visualização PNG caso o conteúdo Flash não esteja ativo.

  6. Você está bem usando os pacotes hyperref(e media9é claro).

  7. [para reprodução] Você possui o Acrobat 9.4.1 (para reprodução em Linux) ou versões mais modernas em outros sistemas.

  8. [para reprodução] Para outros visualizadores de PDF: a extensão mp4está associada a algum aplicativo e o filme é distribuído com o PDF.

Limitações (da minha má implementação, não de media9)

  1. Apenas widthe/ou heightpodem ser especificados como opções.
  2. Nenhum outro player jw-playerpode ser usado (as opções estão codificadas na definição do comando).
  3. Ele assume muitos padrões em relação ao comportamento do player incorporado.
  4. [Para fallback] A definição tenta melhor ter um bom modo de fallback para outros espectadores, e você tem que escolher (veja o código) entre incorporar o filme ou ter um arquivo externo.
  5. [Para reprodução] Não sei se funciona em todos os visualizadores, funciona pelo menos no Acrobat 9.4.1 (Linux) e Evince 3.10.3 (Linux). Eu vi funcionar no Acrobat X no Windows e Mac após uma confirmação de "mensagem de segurança".

Dadas estas condições, o seguinte documento que inclui a definição \includemoviee resume uma solução de trabalho.

\documentclass{article}
\usepackage[noplaybutton]{media9}
\usepackage[colorlinks]{hyperref}
\usepackage{attachfile2}

\newcommand{\includemovie}[2][]{
    \includemedia[
        #1,
        activate=pageopen,transparent,
        addresource=#2.mp4,addresource=#2.png,
        flashvars={
            file=#2.mp4&image=#2.png&
            stretching=uniform&start=0&
            screencolor=white& %improves render in light backgrounds
            controlbar.position=over&controlbar.idlehide=true&
            autostart=true&repeat=always&smoothing=true
            %&bufferlength=10 % may improve repetition of short videos
        }
    ]{ % for disabled content (in most cases this is fallback)
        \begin{tabular}{ll}
            \mbox{
            %   \href{run:#2.mp4} % for not embedded fallback
                \textattachfile[color={0 0 0}]{#2.mp4} % for embedded fallback
                {\texttt{|\kern-.23em>}} % poor play button
            } & \raisebox{-\height}{\includegraphics[#1]{#2}}
        \end{tabular}
    }{player.swf}
}

\begin{document}

\includemovie[width=5cm]{MYMOVIE} %no extension!

\end{document}

(nota: você pode se beneficiar produzindo JPEGinstantâneos, PNGgeralmente são muito grandes, às vezes tão grandes quanto o filme inteiro)

Responder1

Atualizar

A partir de 04/11/2013, o pacote media9contém componentes Flash do media player VPlayer9.swfe arquivos APlayer9.swf. Eles são compatíveis com o plugin Flash Player 9 (um tanto desatualizado) que acompanha o Adobe Reader para Linux9.4.1e pode ser usado para produzir documentos PDF com vídeo (MP4/H.264) e áudio (MP3) incorporados direcionados a esta versão Linux específica do Adobe Reader.

Alternativamente, qualquer reprodutor de mídia baseado em Flash encontrado na Web que seja compatível com Flash-9 e que possa ser configurado via FlashVars pode ser usado. (Embora o número desses players deva diminuir com o advento das versões mais recentes do Flash.)

Observação:A reprodução de flash e mídia foi eliminada nos leitores mais recentes. AR-9.4.1 é a última versão no Linux que suporta Flash.

Adobe Reader 9.4.1 para Linux pode ser baixado em ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.4.1/.

Código de exemplo usando cube.mp4e VPlayer9.swfdo media9pacote:

\documentclass{article}
\usepackage{media9}[2013/11/04]

\begin{document}

\includemedia[
  width=0.6\linewidth,height=0.6\linewidth,
  activate=pageopen,
  transparent,
  addresource=cube.mp4,
  flashvars={
    source=cube.mp4     % same path as in addresource!
   &loop=true           % loop video
   &scaleMode=letterbox % preserve aspect ratio
  }
]{}{VPlayer9.swf}

\end{document}

Responder2

AtualizarObrigado a @percusse por apontar em seu comentário que a resposta original não era a que o OP estava pedindo.

Então pesquisei um pouco e encontrei issolink. Basicamente, a solução alternativa é,

  1. InstalarAdobe Reader 9.4.1.
  2. Instale flashmovieou copie-o para sua pasta de origem (especialmente o player_flv_maxi.swf)
  3. Escreva \includepackage{hyperref}e \includepackage{flashmovie}em seu preâmbulo. Um ambiente de trabalho mínimo seria:

    \documentclass{article}
    
    \includepackage{hyperref}
    \incldepackage{flashmovie}
    
    \begin{document}
    
    \flashmovie[width=12cm,height=8cm,engine=flv-player,auto=1]{movie.flv}
    
    \end{document}
    

Parece que, no Linux, você só pode obter vídeos incorporados no Acrobat com o Acrobat versão 9.4.1. (Por que isso acontece, ainda não sei.) Você também precisará instalar ffmpegpara converter seus vídeos paraflv

Baixei o text-flv.texarquivo de amostra do link. O flashmoviefuncionamento está resumido neste arquivo.

Posso verificar a afirmação de que o filme não pode ser reproduzido no PDF de saída do meu Adobe Reader com versão 9.4.7. Ao abrir o pdf aparece uma mensagem. A 3d data parsing error has ocurred.Também posso verificar que funciona perfeitamente no Adobe Reader 9.4.1.

Aliás, tenho o TeX versão 3.1415926-2.4-1.40.13.

Atualização: se você não deseja incorporarPrimeiro, certifique-se de ter instalado todos os pacotes necessários para executar o formato do filme. Você precisará carregar o pacote movie15,que vem com TeXLive 2012.O manual diz que este pacote já está obsoleto e que você deve considerar usá-lo movie9, que está em ctan, mas não em, TeXLive2012.usei movie15nesta resposta.

Experimente o seguinte MWE:

\documentclass{article}

\usepackage{hyperref}
\usepackage{movie15}

\begin{document}

    \begin{figure}[ht]
    \includemovie[poster,text={\small(Loading Video...)}]{3cm}{2cm}{movie.mp4}
    \end{figure}

\end{document}

A posteropção insere o primeiro quadro do filme. A textopção aparece antes de o filme ser carregado no visualizador de PDF. 3cm e 2cm são a largura e a altura do quadro e movie.mp4é o nome do seu filme.

Execute pdflatex movie.texonde movie.texestá seu arquivo tex. Estou usando o Ubuntu 12.04 e uso evince 3.4para visualizar o pdf. Basta digitar evince movie.pdfno seu terminal. Clique no quadro para reproduzir o filme. O filme será aberto com seu visualizador de filmes padrão.

Eu ainda não tentei movie9.

AtualizarIsto é uma resposta ao usuário 17791. Meu comentário anterior à resposta dele foi excluído quando a pergunta foi editada pelo moderador. Aqui está, @User17791:

pdfTeX 3.1415926-2.4-1.40.13 (TeX Live 2012)
kpathsea version 6.1.0
Copyright 2012 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.5.10; using libpng 1.5.10
Compiled with zlib 1.2.7; using zlib 1.2.7
Compiled with xpdf version 3.03

Abaixo estão dois instantâneos da minha área de trabalho com um filme sendo reproduzido no Acrobat 9.4.1. (É um vídeo de uma dança ritual aqui na cidade de Baguio.)

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Responder3

Eu estava tentando fazer o mesmo que você e isso funcionou para mim

\documentclass[unknownkeysallowed]{beamer}
\mode<presentation>
\usepackage{beamerthemesplit}
\usepackage{multimedia}

\begin{document} 

\begin{frame}[allowframbreaks]

\centering

\movie[height = 6cm,width = 6cm,showcontrols] {}{QuantumHallEffectExp.mp4}
\end{frame} 

\end{document} 

E para ver o que foi incorporado é necessário usar o Okular em modo de apresentação.

insira a descrição da imagem aqui

Responder4

Estou usando Linux e isso funciona para mim:

Primeiro tenho que fazer o download movie15_dvipdfmx.stye renomeá-lo para movie15.stye colocá-lo no mesmo diretório do meu .texarquivo.

Então:

\usepackage[dvipdfmx]{movie15}
[....]

\begin{figure}[ht]
\centering
\includemovie[inline=false,text={\includegraphics[scale=0.25]{play-movie.png}}]{}{}{movie.mp4}
\end{figure}

No Linux, posso abrir o PDF com o visualizador evince, clicar na imagem e o filme será reproduzido em uma janela separada.

informação relacionada