当前位置: 首页 > 知识库问答 >
问题:

vue.js - 兄弟们,web端有没有好的h264播放器可以播放字节码的?

谷梁翰飞
2023-10-21

我通过websocket 已经将拿到了实时的h264的base64,并且转出来了二进制
image.png
该如何在前端播放

共有2个答案

邵胜涝
2023-10-21

都拿到字节流了,理论上你把它转成blob对象就可以在video标签下播放了,see: https://stackoverflow.com/questions/14317179/display-a-video-from-a-blob-javascript

陈允晨
2023-10-21

在前端播放H264字节码(base64编码的二进制数据)可以使用一些特定的视频播放库来实现。下面是一种可能的解决方案,使用JavaScript和HTML5的video标签。

首先,你需要将收到的base64编码的二进制数据解码为二进制数据。你可以使用浏览器的内置函数atob()将base64字符串解码为二进制字符串,然后将这个字符串转换为ArrayBuffer。

let base64String = "你的base64字符串"; // 你的base64字符串let binaryString = atob(base64String);let bytes = new Uint8Array(binaryString.length);for(let i = 0; i < binaryString.length; i++) {    bytes[i] = binaryString.charCodeAt(i);}

然后,你需要创建一个Blob对象,并使用URL.createObjectURL()方法创建一个表示这个Blob的URL。

let blob = new Blob([bytes], {type: 'video/mp4'});let url = URL.createObjectURL(blob);

最后,你可以创建一个video元素,设置src属性为这个URL,然后就可以开始播放视频了。

<video id="videoElement"></video><script>    let videoElement = document.getElementById('videoElement');    videoElement.src = url;    videoElement.play();</script>

请注意,这种方法需要浏览器支持MP4格式的视频。另外,由于WebSocket是单向的,你可能需要在服务器端进行H264到MP4的转换,或者在客户端使用一些专门的库来进行转换。

 类似资料:
  • 由于小程序里只能使用小程序提供的video组件,所以Mudu.Room.Player仅提供了对用户播放时长的统计功能。 只需要在小程序的事件处理中执行相应函数即可。 video组件bindplay时调用 Mudu.Room.Player.OnPlay() video组件bindpause时调用 Mudu.Room.Player.OnPause() video组件bindended时调用 Mud

  • Mudu.Player 播放器组件(muduPlayer 新版) 升级提示 在 初始化播放器 和使用 player.load() 方法时新增isLive参数(默认为false) 该参数用于控制播放器的ui展示,当为false时 显示进度条 和 时间进度 ;当为true时 隐藏进度信息 并 显示为直播状态 初始化播放器 var isChannelLiving = !!Mudu.Room.GetLiv

  • 所以我用javafx制作了一个mp3播放器,它有一个,在这里我拖放歌曲,然后选择一首歌曲并按play播放,你就明白了。问题是,用我当前的代码,我不能播放两首以上歌曲的序列:/(播放选定的歌曲,播放它旁边的歌曲,然后停止)。代码如下:

  • 代码 说明 102 视频列表为空 103 无效的视频列表 108 列表模式视频信息加载失败 109 视频信息加载失败 110 视频审核中 111 用户流量已用尽 112 用户账号被锁 114 视频被屏蔽或删除 115 视频信息错误 116 无视频文件 205 当前域名不允许播放 207 授权播放验证未通过 304 测速失败 305 切换清晰度失败 306 播放中播放失败

  • 我正在开发一个包含一些音频播放器的RecyclerView的应用程序。应用程序将下载。3gp文件(如果尚未下载)。 当我单击playAudio按钮时,音频未被播放。 这是我的适配器代码: 我怎样才能解决这个问题?

  • 我想玩。iPhone应用程序中的mpd文件,为此我尝试了VLC播放器,但它没有按照预期工作,播放视频花费了太多时间。我还有其他选择吗。像Android中的exoplayer这样的mpd文件。 我已经为此目的实现了VLC媒体播放器,但现在我正在寻找另一种选择。如果有人对此有任何想法,请帮助。