Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Calculator

0

63
Views
Unable to download full zoom session video on ec2 instance by javascript

I have written a automation script which downloads zoom video recordings from zoom to downloads folder in my ec2 ubuntu server and then that video gets uploaded to youtube using youtube api v3. Problem is that my script is working perfectly fine on windows system of my computer but when live on ec2 server the script is only able to download video recording of zoom meeting of 10 seconds only, that too last 10 seconds. I am unable to figure out if what ec2 setting does I need to change so I can download whole video of 2 hours from zoom. Here is my code below :

function GetZoomMeetingData(zoomID,nameofClan,recordIDMetaData,clanNumber) {
    //  zoom meeting link of Zoom ID
    //https://api.zoom.us/v2/meetings/{meetingId}/recordings
    var meetingLink = 'https://api.zoom.us/v2/meetings/'+zoomID+'/recordings';

//  select meeting from admission base   
const zoomMeeting = axios({
    method: 'get',
    url: meetingLink,
    'headers': {
        'Authorization': zoomAuthoToken
    },
    responseType: 'json',
})

zoomMeeting.then(
    function(response) {
        console.log("Download URL ",response.data.recording_files[0].download_url);
        let meetingURL = response.data.recording_files[0].download_url;
        downloadFile(meetingURL, 'downloads',nameofClan,recordIDMetaData,clanNumber);          
    }
);
}

const downloadFile = async (fileUrl, downloadFolder, nameofClan , recordIDMetaData,clanNumber) => {
  // Get the file name
  const todayDate = new Date();
  let YesterdayDate = new Date(todayDate);

  YesterdayDate.setDate(YesterdayDate.getDate() - 1);
  YesterdayDate = YesterdayDate.toDateString();
  console.log(YesterdayDate);
  let clanVideoName = YesterdayDate + '' + nameofClan;
  const Name = YesterdayDate+'_'+nameofClan+'.mp4';
  const fileName = Name;


  const localFilePath = path.resolve(__dirname, downloadFolder, fileName);
  try {
    const response = await axios({
      method: 'GET',
      url: fileUrl,
      responseType: 'stream',
    });

    const w = response.data.pipe(fs.createWriteStream(localFilePath));
    w.on('finish', () => {
      uploadONYoutubeNow = true;
      console.log('Successfully downloaded file!');
      //this function is called to upload file for zoom on youtube
      youtubeUpload(fileName,clanVideoName,recordIDMetaData,clanNumber);
    });
  } catch (err) {
    throw new Error(err);
  }
};
7 months ago ยท Juan Pablo Isaza
Answer question
Find remote jobs