axiomatic-systems / Bento4

Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools
http://www.bento4.com
2.03k stars 483 forks source link

Exception: binary tool failed with error -11 when running mp4hls on MacOS #498

Open tab1293 opened 4 years ago

tab1293 commented 4 years ago

I encounter this error when running the following command on MacOS. If I run the same command with the same files from within Bento4's docker container, the command runs successfully. My host machine is running MacOS High Sierra 10.13.4. mp4hls on my host machine is on version 1.2.0 r632. The docker container is running mp4hls 1.2.0 r630. Anyone have any idea how to fix this issue?

✗ mp4hls -v -d -f -o output/stream --hls-version 3 --output-single-file \[type=video\]output/video0.mp4.frag \[type=audio,language=eng\]output/audio1.mp4.frag \[+format=webvtt,+language=eng\]output/subtitle2.vtt
COMMAND:  mp4info --format json --fast output/video0.mp4.frag ['mp4info', '--format', 'json', '--fast', 'output/video0.mp4.frag']
COMMAND:  mp4info --format json --fast output/audio1.mp4.frag ['mp4info', '--format', 'json', '--fast', 'output/audio1.mp4.frag']
Parsing media file output/video0.mp4.frag
Processing MP4 file output/video0.mp4.frag
  found 273 segments
COMMAND:  mp4dump --format json --verbosity 1 output/video0.mp4.frag ['mp4dump', '--format', 'json', '--verbosity', '1', 'output/video0.mp4.frag']
Track ID                     = 1
    Segment Count            = 273
    Type                     = video
    Sample Count             = 31213
    Average segment bitrate  = 4223015
    Max segment bitrate      = 13980125
    Required bandwidth       = 6301510
    Average segment duration = 4.782145525830257
Parsing media file output/audio1.mp4.frag
Processing MP4 file output/audio1.mp4.frag
  found 651 segments
COMMAND:  mp4dump --format json --verbosity 1 output/audio1.mp4.frag ['mp4dump', '--format', 'json', '--verbosity', '1', 'output/audio1.mp4.frag']
Track ID                     = 1
    Segment Count            = 651
    Type                     = audio
    Sample Count             = 56063
    Average segment bitrate  = 128733
    Max segment bitrate      = 133030
    Required bandwidth       = 131850
    Average segment duration = 2.0000162119290437
Processing output/video0.mp4.frag
COMMAND:  mp42hls --index-filename output/stream/media-1/stream.m3u8 --segment-filename-template output/stream/media-1/media.ts --segment-url-template media.ts --show-info --output-single-file --encryption-key-uri key.bin --audio-track-id 0 output/video0.mp4.frag ['mp42hls', '--index-filename', 'output/stream/media-1/stream.m3u8', '--segment-filename-template', 'output/stream/media-1/media.ts', '--segment-url-template', 'media.ts', '--show-info', '--output-single-file', '--encryption-key-uri', 'key.bin', '--audio-track-id', '0', 'output/video0.mp4.frag']
{
  "stats": {
    "duration": 0.000000,
    "avg_segment_bitrate": 4336767.176728,
    "max_segment_bitrate": 8478079.828556,
    "avg_iframe_bitrate": 397872.448864,
    "max_iframe_bitrate": 2754327.737810,
    "frame_rate": 0.000000
  },
  "video": {
    "codec": "avc1.640829",
    "width": 1920,
    "height": 1080
  }
}

Processing output/audio1.mp4.frag
COMMAND:  mp42hls --index-filename output/stream/audio/aac/eng/stream.m3u8 --segment-filename-template output/stream/audio/aac/eng/media.aac --segment-url-template media.aac --show-info --output-single-file --audio-format packed --encryption-key-uri key.bin --audio-track-id 1 --video-track-id 0 output/audio1.mp4.frag ['mp42hls', '--index-filename', 'output/stream/audio/aac/eng/stream.m3u8', '--segment-filename-template', 'output/stream/audio/aac/eng/media.aac', '--segment-url-template', 'media.aac', '--show-info', '--output-single-file', '--audio-format', 'packed', '--encryption-key-uri', 'key.bin', '--audio-track-id', '1', '--video-track-id', '0', 'output/audio1.mp4.frag']
Traceback (most recent call last):
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/utils/mp4utils.py", line 279, in Bento4Command
    return check_output(cmd)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 395, in check_output
    **kwargs).stdout
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 487, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['mp42hls', '--index-filename', 'output/stream/audio/aac/eng/stream.m3u8', '--segment-filename-template', 'output/stream/audio/aac/eng/media.aac', '--segment-url-template', 'media.aac', '--show-info', '--output-single-file', '--audio-format', 'packed', '--encryption-key-uri', 'key.bin', '--audio-track-id', '1', '--video-track-id', '0', 'output/audio1.mp4.frag']' died with <Signals.SIGSEGV: 11>.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/wrappers/../utils/mp4-hls.py", line 662, in <module>
    main()
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/wrappers/../utils/mp4-hls.py", line 652, in main
    OutputHls(options, media_sources)
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/wrappers/../utils/mp4-hls.py", line 344, in OutputHls
    ProcessSource(options, audio_track.media_info, out_dir)
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/wrappers/../utils/mp4-hls.py", line 239, in ProcessSource
    **kwargs)
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/utils/mp4utils.py", line 310, in Mp42Hls
    return Bento4Command(options, 'mp42hls', input_filename, *args, **kwargs)
  File "/usr/local/Cellar/bento4/1.6.0-632/libexec/Python/utils/mp4utils.py", line 289, in Bento4Command
    raise Exception(message)
Exception: binary tool failed with error -11 - ['mp42hls', '--index-filename', 'output/stream/audio/aac/eng/stream.m3u8', '--segment-filename-template', 'output/stream/audio/aac/eng/media.aac', '--segment-url-template', 'media.aac', '--show-info', '--output-single-file', '--audio-format', 'packed', '--encryption-key-uri', 'key.bin', '--audio-track-id', '1', '--video-track-id', '0', 'output/audio1.mp4.frag']
barbibulle commented 4 years ago

I'm not able to reproduce the error on my mac. Could you try with the latest binary release (Version 1.6.0-634)?