sonysuqin / WasmVideoPlayer

Play file/stream with wasm & webgl & web audio api, using ffmpeg for multi codec support, especially for h265,support http, websocket, http-flv stream.
GNU General Public License v3.0
1.3k stars 375 forks source link

h265文件视频无法播放 function signature mismatch #43

Closed delenzhang closed 4 years ago

delenzhang commented 4 years ago

ffprobe 分析出来的 mp4视频格式: Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf55.33.100 Duration: 00:00:54.68, start: 0.000000, bitrate: 2056 kb/s Stream #0:0(eng): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv), 640x480 [SAR 1:1 DAR 4:3], 1933 kb/s, 30 fps, 30 tbr, 90k tbn, 30 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default) Metadata: handler_name : SoundHandler 但是无法播放 wasm-010e596e-924:1 Uncaught RuntimeError: function signature mismatch at wasm-function[924]:0xb94d4 at wasm-function[57]:0x4d49 at wasm-function[70]:0x6722 at wasm-function[174]:0x1aa40 at wasm-function[2374]:0x1c7184 at wasm-function[1437]:0x11eaaa at wasm-function[2289]:0x1b5a37 at Object.Module._openDecoder (http://127.0.0.1:8081/libffmpeg.js:1:92204) at Decoder.openDecoder (http://127.0.0.1:8081/decoder.js:48:22) at Decoder.processReq (http://127.0.0.1:8081/decoder.js:165:18)

sonysuqin commented 4 years ago

可否给个链接让我看看。

delenzhang commented 4 years ago

可否给个链接让我看看。

sonysuqin@gmail.com 已将视频发送到您的邮箱, 其实就是换了个地址,发现无法播放

delenzhang commented 4 years ago

您好, 没有外网的链接呢, 我就是clone了你的一份代码, 然后跑了http-server,试了一下其他的h265的mp4文件就发现wasm报错了。我把文件发给你了, 您有时间可以看下,方便的话加个微信或者qq什么的, 都是邮件号501894188

------------------ 原始邮件 ------------------ 发件人: "何震"<notifications@github.com>; 发送时间: 2020年1月14日(星期二) 中午11:18 收件人: "sonysuqin/WasmVideoPlayer"<WasmVideoPlayer@noreply.github.com>; 抄送: "尘"<501894188@qq.com>; "Author"<author@noreply.github.com>; 主题: Re: [sonysuqin/WasmVideoPlayer] h265文件视频无法播放 (#43)

可否给个链接让我看看。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

sonysuqin commented 4 years ago

@ddcouples image

看了一下,moov box在后面,这种视频用ffmpeg播放的话,只适合从本地播放,从网络播放的话需要提前加载moov,因为元数据都在里面。转一下就可以了:

ffmpeg -i Bullfinch2797.mp4 -acodec copy -vcodec copy -movflags faststart 2797.mp4

参考 #40

delenzhang commented 4 years ago

wasm-010e596e-924:1 Uncaught RuntimeError: function signature mismatch     at wasm-function[924]:0xb94d4     at wasm-function[57]:0x4d49     at wasm-function[70]:0x6722     at wasm-function[174]:0x1aa40     at wasm-function[2374]:0x1c7184     at wasm-function[1437]:0x11eaaa     at wasm-function[2289]:0x1b5a37     at Object.Module._openDecoder (http://127.0.0.1:8081/wasm/libffmpeg.js:1:92211)     at Decoder.openDecoder (http://127.0.0.1:8081/decoder.js:49:22)     at Decoder.processReq (http://127.0.0.1:8081/decoder.js:166:18)

转码之后好像还是无法播放!

------------------ 原始邮件 ------------------ 发件人: "何震"<notifications@github.com>; 发送时间: 2020年1月14日(星期二) 下午3:02 收件人: "sonysuqin/WasmVideoPlayer"<WasmVideoPlayer@noreply.github.com>; 抄送: "尘"<501894188@qq.com>; "Mention"<mention@noreply.github.com>; 主题: Re: [sonysuqin/WasmVideoPlayer] h265文件视频无法播放 function signature mismatch (#43)

@ddcouples

看了一下,moov box在后面,这种视频用ffmpeg播放的话,只适合从本地播放,从网络播放的话需要提前加载moov,因为元数据都在里面。转一下就可以了:

ffmpeg -i Bullfinch2797.mp4 -acodec copy -vcodec copy -movflags faststart 2797.mp4

参考 #40

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

sonysuqin commented 4 years ago

不会吧, 我这边已经能播放了,你是用最新代码吗?有重新编译?一样的错误的话,是否清了缓存? image

delenzhang commented 4 years ago

--enable-avformat 看到解封装里支持flv,那是不是对于flv文件也能实现播放呢?

------------------ 原始邮件 ------------------ 发件人: "何震"<notifications@github.com>; 发送时间: 2020年1月14日(星期二) 下午3:02 收件人: "sonysuqin/WasmVideoPlayer"<WasmVideoPlayer@noreply.github.com>; 抄送: "尘"<501894188@qq.com>; "Mention"<mention@noreply.github.com>; 主题: Re: [sonysuqin/WasmVideoPlayer] h265文件视频无法播放 function signature mismatch (#43)

@ddcouples

看了一下,moov box在后面,这种视频用ffmpeg播放的话,只适合从本地播放,从网络播放的话需要提前加载moov,因为元数据都在里面。转一下就可以了:

ffmpeg -i Bullfinch2797.mp4 -acodec copy -vcodec copy -movflags faststart 2797.mp4

参考 #40

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

delenzhang commented 4 years ago

不会吧, 我这边已经能播放了,你是用最新代码吗?有重新编译?一样的错误的话,是否清了缓存? image

可以播放了,但是音频会比较混乱? 目前这个只支持播放mp4吗

sonysuqin commented 4 years ago

支持格式自己可以在编译ffmpeg的时候加进去,听上去可能有卡顿,可能是因为CPU占用太高了。

kkemao commented 3 years ago

支持格式自己可以在编译ffmpeg的时候加进去,听上去可能有卡顿,可能是因为CPU占用太高了。

如果是没有音频流的mp4文件也无法播放,是文件必须要带有音频吗