
我想使用 tex 產生帶有嵌入影片的 html 頁面。我知道我可以使用latex2html將tex轉換為html。我也知道 media9 但我認為它只能用於渲染 pdf 格式的影片。我認為如果javascript可以嵌入到tex中並呈現為html,那麼我可以使用基於javascript的影片播放器在html頁面中顯示影片。那麼有可能嗎?
我為什麼要這樣做? :我想在我的文件中添加視頻,但我對 pdf 標準及其相關檢視器中對此斷斷續續的支援感到沮喪。
答案1
解決方案使用tex4ht
.樣本文件:
\documentclass{article}
\usepackage{media9}
\newcommand\myvideo[3]{%
\includemedia[%
addresource=#3,
width=#1,
height=#2,
activate=pageopen
]{}{VPlayer.swf}
}
\begin{document}
\myvideo{.5\linewidth}{.5\linewidth}{circle.mp4}
\end{document}
\myvideo
引入命令,具有三個參數width
、height
和video file
。media9
命令\includemedia
用於包含視訊。我無法測試這是否有效,因為 Linux 不支援影片播放。
現在我們需要為tex4ht
, 命名製作配置文件media.cfg
,在其中我們將重寫\myvideo
命令以生成視頻 html 標籤。
\Preamble{xhtml}
\begin{document}
\renewcommand\myvideo[3]{%
\HCode{%
<embed src="#3" type="video/mp4" WIDTH="\the\dimexpr#1\relax" HEIGHT="\the\dimexpr#2\relax" AUTOPLAY="TRUE" LOOP="TRUE" PLAYEVERYFRAME="TRUE" />
}
}
\EndPreamble
<embed>
元素被使用,因為它得到了廣泛的支持。請注意,該type
參數被硬編碼為video/mp4
,如果您的影片屬於不同類型,則需要更改它。\dimexpr
用於計算尺寸。
現在您可以使用以下命令編譯文件:
htlatex sample.tex media
並產生了html:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head> <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- charset=utf-8,html,xhtml -->
<meta name="src" content="sample.tex" />
<meta name="date" content="2014-05-09 13:45:00" />
<link rel="stylesheet" type="text/css" href="sample.css" />
</head><body
>
<!--l. 12--><p class="noindent" ><embed src="circle.mp4" type="video/mp4" WIDTH="172.5pt" HEIGHT="172.5pt" AUTOPLAY="TRUE" LOOP="TRUE" PLAYEVERYFRAME="TRUE" /> </p>
</body></html>
答案2
感謝 David Carlisle 的建議以及 michal.h21 使用 tex4ht 的解決方案。下面是latex2html的解決方案。
我使用latex2html的rawhtml環境來編寫放置html5視訊檔案的環境(它嘗試mp4和ogg格式)
\documentclass[english]{article}
\newcommand{\vid}[1] {
\begin{rawhtml}
<video width="320" height="240" controls>
\end{rawhtml}
\begin{rawhtml}
<source src="
\end{rawhtml}
#1
\begin{rawhtml}
.ogg" type="video/ogg">
\end{rawhtml}
\begin{rawhtml}
<source src="
\end{rawhtml}
#1
\begin{rawhtml}
.mp4" type="video/mp4">
\end{rawhtml}
\begin{rawhtml}
Your browser does not support the video tag. </video>
\end{rawhtml}
}
\begin{document}
%now use the environment defined above to place
%a video called myVidName.mp4 or myVidName.ogg
\vid{myVidName}
\end{document}