The*_*sic 1 html javascript mp4 ffmpeg media-source
我已使用此示例尝试使用 MediaSource“流式传输”具有多个部分的 mp4 视频。由于主机上传限制,文件不应大于 20mb。
但是,我无法找到正确的编码器设置以使其正常工作。如果我在代码中使用示例文件,它们可以正常工作,但我自己编码或“拆分”的所有内容都不起作用。
这是文件的元数据(ffmpeg -i):
我要编码的文件:
Metadata:
major_brand : mp42
minor_version : 19529854
compatible_brands: mp42isom
creation_time : 2017-01-23T17:09:58.000000Z
Duration: 00:04:46.65, start: 0.000000, bitrate: 3033 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
creation_time : 2017-01-23T17:09:58.000000Z
handler_name : Sound Media Handler
Stream #0:1(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 2836 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2017-01-23T17:09:58.000000Z
handler_name : Video Media Handler
encoder : AVC Coding
Run Code Online (Sandbox Code Playgroud)
工作文件之一(我需要的格式):
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1iso5
Duration: 00:01:00.19, start: 0.000000, bitrate: 734 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 65 kb/s (default)
Metadata:
handler_name : Bento4 Sound Handler
Stream #0:1(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 640x360, 612 kb/s, 23.96 fps, 24 tbr, 600 tbn, 1200 tbc (default)
Metadata:
handler_name : Bento4 Video Handler
Stream #0:2(eng): Data: none (rtp / 0x20707472), 45 kb/s (default)
Metadata:
handler_name : Bento4 Hint Handler
Stream #0:3(eng): Data: none (rtp / 0x20707472), 5 kb/s (default)
Metadata:
handler_name : Bento4 Hint Handler
Run Code Online (Sandbox Code Playgroud)
我尝试使用的命令之一:
ffmpeg -i inputvid.mp4 -vcodec libx264 -acodec aac -pix_fmt yuv420p -profile:v baseline -level 3 testvid.mp4
Run Code Online (Sandbox Code Playgroud)
另外,为了将文件分成多个部分,到目前为止我一直在使用“mp4box”:
mp4box -splits 19000 testvid.mp4
Run Code Online (Sandbox Code Playgroud)
我需要的编码的适当参数是什么?
mp4box 可以用于分割吗?或者我也可以使用 ffmpeg 来分割吗?
提前致谢!
使用 chrome://media-internals/ 我能够找出所需的编码,显然是 ISO BMFF。
经过更多研究后,我想出了这个用于编码的工作命令:
ffmpeg -i .input.mp4 -vcodec libx264 -acodec aac -pix_fmt yuv420p -movflags empty_moov+default_base_moof+frag_keyframe -profile:v baseline output.mp4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |