Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-78391

RecordRTC Safari not working (A variety of related bugs)

XMLWordPrintable

    • MOODLE_400_STABLE, MOODLE_401_STABLE, MOODLE_402_STABLE
    • MOODLE_401_STABLE, MOODLE_402_STABLE
    • MDL-78391-401
    • MDL-78391-402
    • MDL-78391-master
    • Hide

      Notes

      This test must be repeated for:

      • Chrome
      • Firefox
      • Safari

      It must also be repeated for:

      • The Atto Editor
      • The TinyMCE Editor

      Test Setup

      1. Login as teacher
      2. Navigate to a course
      3. Turn editing on
      4. Create a new page resource
        1. Name: [editor] on [browser] (e.g. Atto on Safari)
      5. In the "Content" editor:
      6. Use the Microphone button to record a 10 second audio clip (approx)
      7. Click "Stop recording"
        1. Confirm you can play it back and hear it*
      8. Attach the recording to the page
      9. Save the page

      Test Content

      1. After completing ALL of the browser/editor combinations (should be six), for each browser:
      2. View each of the six combinatinos
        1. Confirm that you can play both the audio, and video, content
      Show
      Notes This test must be repeated for: Chrome Firefox Safari It must also be repeated for: The Atto Editor The TinyMCE Editor Test Setup Login as teacher Navigate to a course Turn editing on Create a new page resource Name: [editor] on [browser] (e.g. Atto on Safari) In the "Content" editor: Use the Microphone button to record a 10 second audio clip (approx) Click "Stop recording" Confirm you can play it back and hear it* Attach the recording to the page Save the page Test Content After completing ALL of the browser/editor combinations (should be six), for each browser: View each of the six combinatinos Confirm that you can play both the audio, and video, content

      Whilst testing some MediaPlayer work we discovered that MacOS has improved support for h264 in Safari.
      Unfortunately this then unearthed some deeper issues with both our TinyMCE, and Atto, recordrtc plugins.

      Atto:

      • did not provide a valid container/codec combination for Safari
      • did not use a mime-type appropriate file extension

      Tiny:

      • did not provide a valid container/codec combination for Safari
      • had a bug preventing it from fetching any of the defined container/codecs anyway
      • did not use a mime-type appropriate file extension

      In addition, Safari:

      • does not support the standard mimetype codec definition format, that is:

        // Chrome and Firefox use this format:
        video/mp4;codecs=h264 
         
        // Safari uses this one: 
        video/mp4;codecs:h264
        

      I haven't found this documented anywhere but have found others using it. We now support both.

      Safari is also fussy about file extensions during playback, and ignores mimetypes.

      With all of these issues addressed we now have the ability to record and playback content recorded in any browser combination.

      Note: Due to the file extension issue, and some other possible issues, content recorded in older versions may not work still. It will depend upon the combination.

        1. chrome.mp4
          17.19 MB
        2. firefox.mp4
          13.30 MB
        3. safari.mp4
          12.61 MB

            dobedobedoh Andrew Lyons
            huongn@moodle.com Huong Nguyen
            Jordi Pujol-Ahulló Jordi Pujol-Ahulló
            Jun Pataleta Jun Pataleta
            Huong Nguyen Huong Nguyen
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 2 hours, 10 minutes
                1d 2h 10m

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.