如何在chrome中播放MPEG-TS

时间:2017-08-22 12:21:40

标签: video h.264 vlc aac mpeg

我有一个视频,我想向用户展示('''用户,因为他可以访问Chrome PC或Chrome android。)

如果有可能使用html5标签会很好,但是因为TS它不能......

所以,我需要一个更好的建议,我怎么能玩它们而不是打开vlc并复制和过去文件路径。 但那是个糟糕的想法......

我看到this库添加了VLC协议(vlc://链接),但我更喜欢使用服务器端解决方案。

我上传了一个示例文件,您可以在其中看到here

我不想将所有文件转换为其他格式。

编辑: 如果将来有人来这里,在接受了@szatmary的建议之后,GitHub上有一些项目会做这件事,但是如果不进行部分转换(以某种方式),我就不能使用任何一个项目,因为我的工作非常大文件(10G +)和极弱的计算机(单1.8 Cpu核心)我设法只显示音频,而不是真正的解决方案,但满足了我的需求。

2 个答案:

答案 0 :(得分:5)

将文件转换为mp4。如果ts文件是h.264 + aac,你可以在javascript中转换为fmp4并通过媒体源扩展进行播放,但这是很多代码才能正常工作。

答案 1 :(得分:0)

您可以直接使用索引为ts的文件播放m3u8,否则,可以制作m3u8文件,它只是ts文件的索引。 / p>

有些浏览器,例如Edge,可以直接播放ts。请参阅this answer

<video width="352" height="198" controls>
    <source src="index.m3u8" type="application/x-mpegURL">
</video>

对于其他浏览器(如firefox和chrome),您需要将ts输入video.js之类的js视频

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>videojs-contrib-hls embed</title>

  <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
  <script src="https://unpkg.com/video.js/dist/video.js"></script>
  <script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script>

</head>
<body>
  <h1>Video.js Example Embed</h1>

  <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="640" height="268" 
  data-setup='{}'>
    <source src="index.m3u8" type="application/x-mpegURL">
  </video>

  <script>
  </script>

</body>
</html>

除了播放ts文件之外,您还可以将其转换为mp4。

您可以使用pipe these ts files in to ffmpeg并输出mp4文件。

cat *.ts | ffmpeg -i pipe: -c:a copy -c:v copy output.mp4

或者如果您的文件名没有顺序,

grep .*.ts index.m3u8 | xargs cat | ffmpeg -i pipe: -c:a copy -c:v copy output.mp4