Insert video clip in a lyx presentation and play it in GNU/Linux

12,019

Solution 1

How to insert video clips into PDF produced with LaTex, see: http://www.uoregon.edu/~noeckel/PDFmovie.html (using movie15 package).

Unfortunately, you can insert, but you cannot play that video on Linux (evince & okular don't support it, acroread plays it only if you have installed realplayer and are really lucky). Such video-in-a-PDF is playable on Windows.

You can produce cross-platform animations in PDF (not video) by using animate package and tikz/pgf. They play both in Linux and Windows acroread (if JavaScript is enabled) (but not in evince nor okular).

Otherwise you can create presentations with OpenOffice Impress or S5, both allow to embed videos easily, and both play well on Linux. For PDF putting a hyperlink, like you do, seems to be the most reliable way.

Solution 2

It seems that what you're asking for is (now, maybe not previously?) possible using Okular as the viewer. Be sure to include \usepackage{multimedia} in the LaTeX preamble, then you can add in ERT:

\movie[
height = 0.6 \textwidth, 
width = 1.0 \textwidth,
showcontrols
] 
{} {movie.mp4}

This (sort of) works on my system though most of the options for the \movie command don't work, like poster, autostart, etc. However showcontrols does work -- though if the movie runs to completion, then the controls disappear until the presentation is restarted. Nonetheless, I didn't know of any way to have movies embedded in Linux before so it's a start.

For the record I have Ubuntu 10.10, with Okular 0.11.2. I'm also using LyX 2.0.0 which is pretty new but I don't think the LyX version should matter.

Some helpful links:

Solution 3

A quite non-professional way is to use the HTML5 method. Convert your document into a browser based presentation. Maybe use inkscape, or maybe convert it manually and then add the video tag

Share:
12,019
Orjanp
Author by

Orjanp

Updated on June 12, 2022

Comments

  • Orjanp
    Orjanp about 2 years

    How can I insert a video clip into a presentation created in Lyx?

    Have seen http://www.latex-community.org/forum/viewtopic.php?f=19&t=48. It works, but there the video starts in the background in an external player.

    I would prefer it to be played in the presentation itself. If an external player is used it it should at least start in the foreground. But the presentation takes the foreground. Using evince in GNU/linux as pdf viewer. Beamer is used as a presentation template.

    Is it possible to play a video file in an embedded player in the presentation itself?

    Created an example presentation. The code is found below.

    \documentclass[english]{beamer}
    \usepackage{mathptmx}
    \usepackage[T1]{fontenc}
    \usepackage[latin9]{inputenc}
    \usepackage{amsmath}
    \usepackage{amssymb}
    
    \makeatletter
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
     % this default might be overridden by plain title style
     \newcommand\makebeamertitle{\frame{\maketitle}}%
     \AtBeginDocument{
       \let\origtableofcontents=\tableofcontents
       \def\tableofcontents{\@ifnextchar[{\origtableofcontents}{\gobbletableofcontents}}
       \def\gobbletableofcontents#1{\origtableofcontents}
     }
     \makeatletter
     \long\def\lyxframe#1{\@lyxframe#1\@lyxframestop}%
     \def\@lyxframe{\@ifnextchar<{\@@lyxframe}{\@@lyxframe<*>}}%
     \def\@@lyxframe<#1>{\@ifnextchar[{\@@@lyxframe<#1>}{\@@@lyxframe<#1>[]}}
     \def\@@@lyxframe<#1>[{\@ifnextchar<{\@@@@@lyxframe<#1>[}{\@@@@lyxframe<#1>[<*>][}}
     \def\@@@@@lyxframe<#1>[#2]{\@ifnextchar[{\@@@@lyxframe<#1>[#2]}{\@@@@lyxframe<#1>[#2][]}}
     \long\def\@@@@lyxframe<#1>[#2][#3]#4\@lyxframestop#5\lyxframeend{%
       \frame<#1>[#2][#3]{\frametitle{#4}#5}}
     \makeatother
     \def\lyxframeend{} % In case there is a superfluous frame end
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
    \usetheme{Warsaw}
    \usepackage{hyperref}
    
    \makeatother
    
    \usepackage{babel}
    
    \begin{document}
    
    \title{Testing video}
    
    \makebeamertitle
    
    \lyxframeend{}\section{Testing video}
    
    
    \lyxframeend{}\subsection{Testing video}
    
    
    \lyxframeend{}\lyxframe{Testing video}
    
    \href{run:video.wmv}{Movie}
    
    \appendix
    
    \lyxframeend{}
    \end{document}