我曾尝试使用this example通过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其中一个工作文件(我需要的格式):
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我尝试使用的命令之一是:
ffmpeg -i inputvid.mp4 -vcodec libx264 -acodec aac -pix_fmt yuv420p -profile:v baseline -level 3 testvid.mp4此外,为了将文件分成多个部分,我到目前为止一直使用"mp4box“:
mp4box -splits 19000 testvid.mp4对于我需要的编码,合适的参数是什么?
对于拆分,mp4box可以吗?或者我也可以使用ffmpeg吗?
提前感谢!
发布于 2019-08-06 10:42:35
使用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.mp4https://stackoverflow.com/questions/57350018
复制相似问题