0

I'm trying to create a thumbnail from a dash stream m4s file.

I have the mpd, init.mp4 file and the m4s files.

I have the code using nodeJS ffmpeg package that extracts image from an mp4 file:

try {
var process = new ffmpeg('video.mp4');
process.then(function (video) {
    // Callback mode
    video.fnExtractFrameToJPG('C:\\files\\nodejs', {
        start_time: `1:50:30`,
        frame_rate : 1,
        file_name : 'my_frame_%t_%s'
    }, function (error, files) {
        if (!error)
            console.log('Frames: ' + files);
    });
}, function (err) {
    console.log('Error: ' + err);
});
} catch (e) {
console.log(e.code);
console.log(e.msg);
}

But because i'm reading my files from a dash-stream i'm getting an m4s files.

I've tried to convert the m4s format into mp4 and then use the code above, but the ffmpeg( fluent-ffmpeg to be exact) is returning an error message

an error occured: ffmpeg exited with code 1: C:\files\nodejs\testFiles\000000.m4s: Invalid data found when processing input

The code i used to convert is:

var proc = new fluent({source: "C:\\files\\nodejs\\testFiles\\000000.m4s", 
nolog: true})

//useless i think - not working
//proc.setFfmpegPath("C:\\files\\ffmpeg-20170620-ae6f6d4-win64-static\\bin")

proc.withSize('50%').withFps(24).toFormat('mp4')

.on('end', function(){
console.log('file has been converted successfully');
})
.on('error', function(err){
    console.log('an error occured: ' + err.message);

})

.saveToFile("C:\\files\\nodejs\\new.mp4");

Is it possible to convert a single m4s file to mp4?

If not, what is the right way of converting m4s to mp4 using ffmpeg with nodejs?

I couldn't find any reference for that, but if it is possible to extract an image directly from the m4s file i think it will solve the problem faster.

It is possible to use this site to download all the *.m4s files, mpd and init.mp4 files using the network section (f12 in Chrome browser) and check the code.

Yogevnn
  • 1,430
  • 2
  • 18
  • 37
  • 1
    A quick note, just on case... if the video file is encrypted you will not be able to create thumbnails like this. – Mick Jul 06 '17 at 11:18
  • I have access to the storage holding the data, that is because i am responsible for the data – Yogevnn Jul 06 '17 at 11:44

0 Answers0