javascript — ошибка ffmpeg при обработке видео из потока

Ошибка ffmpeg при обработке видео из потока

Я создаю метод ffmpeg для изменения видео из readstream в качестве входных данных. Я проверяю это на видео, которые я загружаю из интернета, и это хорошо работает. Когда я попробовал это на видео с моего телефона, это сбой. Я попытался изменить (снять несколько секунд) видео из Интернета и попробовать еще раз, но я получаю то же сообщение об ошибке.

  an error happened: ffmpeg exited with code 1: pipe:0: Invalid data found when processing input Cannot determine format of input stream 0:0 after EOF Error marking filters as finished Conversion failed! ffmpeg version N-92722-gf22fcd4483 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 8.2.1 (GCC) 20181201 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt libavutil 56. 24.101 / 56. 24.101 libavcodec 58. 42.102 / 58. 42.102 libavformat 58. 24.101 / 58. 24.101 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 46.101 / 7. 46.101 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 000001c49b5ee3c0] stream 0, offset 0x20: partial file [mov,mp4,m4a,3gp,3g2,mj2 @ 000001c49b5ee3c0] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080, 17079 kb/s): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2019-10-17T11:32:34.000000Z location :  50.1308 014.3730/ location-eng :  50.1308 014.3730/ com.android.version: 7.0 Duration: 00:00:10.77, start: 0.000000, bitrate: N/A Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none(tv, bt709), 1920x1080, 17079 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default) Metadata: rotate : 90 creation_time : 2019-10-17T11:32:34.000000Z handler_name : VideoHandle Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default) Metadata: creation_time : 2019-10-17T11:32:34.000000Z handler_name : SoundHandle Stream mapping: Stream #0:0 -{amp}gt; #0:0 (h264 (native) -{amp}gt; h264 (libx264)) Stream #0:1 -{amp}gt; #0:1 (aac (native) -{amp}gt; mp3 (libmp3lame)) Stream #0:0 -{amp}gt; #1:0 (h264 (native) -{amp}gt; mjpeg (native)) [mov,mp4,m4a,3gp,3g2,mj2 @ 000001c49b5ee3c0] stream 0, offset 0x20: partial file pipe:0: Invalid data found when processing input Cannot determine format of input stream 0:0 after EOF Error marking filters as finished Conversion failed! 
 ffmpeg(stream) .outputOptions('-movflags', 'faststart') // .size('1320x438') .videoCodec('libx264') .toFormat('avi') .output(fileName) .on('error', function(err: { message: string; }, stdout: any, stderr: any) { console.log('an error happened: '   err.message   stdout   stderr); }) .on('end', function() { console.log('Finished processing video'); const params = { Body: fs.createReadStream(fileName), Bucket: videoBucket, Key: 'test/modification/'   fileName, }; s3.putObject(params, (err, data) ={amp}gt; { if (err) { console.log(err); } }); }) .output(screensName   '.jpg') .outputOptions( '-frames', '1', // Capture just one frame of the video '-vf', 'blackdetect=d=2:pix_th=0.00', ) .on('end', function() { console.log('Finished processing screenshot'); const params = { Body: fs.createReadStream(screensName   '.jpg'), Bucket: videoBucket, Key: 'test/shots/'   screensName   '.jpg', }; s3.putObject(params, (err, data) ={amp}gt; { if (err) { console.log(err); } }); }) .run(); 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector