Richienb / webm-to-mp4

Convert a webm video to mp4.
MIT License
39 stars 4 forks source link

Error converting file #8

Open willmil11 opened 1 year ago

willmil11 commented 1 year ago

Hello there got a problem with conversion

I built an electron app to convert webm files to mp4 files basically when you click on a button the frontend part of the electron app asks the backend part to open a file dialog box once the file is selected it gets the path of the selected path then tries to read the path of the selected file with fs.readFileSync(path) then i try to convert the file as so:

var converted = Buffer.from(webmToMp4(file))

file variable contains the read file, then if you throw this piece of code in a try catch block and if you put console.error(error) in the catch part you get this error in the console:

Error: Conversion error: ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with emcc (Emscripten gcc/clang-like replacement) 1.39.11 configuration: --cc=emcc --ranlib=emranlib --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-fast-unaligned --disable-pthreads --disable-w32threads --disable-os2threads --disable-debug --disable-stripping --disable-safe-bitstream-reader --disable-all --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avfilter --enable-swresample --enable-swscale --disable-network --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vdpau --enable-decoder=vp8 --enable-decoder=h264 --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=mp3 --enable-decoder=aac --enable-decoder=pcm_s16le --enable-decoder=mjpeg --enable-decoder=png --enable-demuxer=matroska --enable-demuxer=ogg --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=wav --enable-demuxer=image2 --enable-demuxer=concat --enable-protocol=file --enable-filter=aresample --enable-filter=scale --enable-filter=crop --enable-filter=overlay --enable-filter=hstack --enable-filter=vstack --disable-bzlib --disable-iconv --disable-libxcb --disable-lzma --disable-sdl2 --disable-securetransport --disable-xlib --enable-zlib --enable-encoder=libx264 --enable-encoder=libmp3lame --enable-encoder=aac --enable-muxer=mp4 --enable-muxer=mp3 --enable-muxer=null --enable-gpl --enable-libmp3lame --enable-libx264 --extra-cflags='-s USE_ZLIB=1 -I../lame/dist/include' --extra-ldflags=-L../lame/dist/lib libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 Input #0, matroska,webm, from 'input.webm': Metadata: encoder : Chrome Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0(eng): Video: vp9, none(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 1k tbr, 1k tbn, 1k tbc (default) Metadata: alpha_mode : 1 Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0(eng): Video: vp9 (vp09 / 0x39307076), none(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1k tbr, 16k tbn, 1k tbc (default) Metadata: alpha_mode : 1 Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help Unknown bitstream filter 'vp9_superframe' av_interleaved_write_frame(): Bitstream filter not found frame= 1 fps=0.0 q=-1.0 Lsize= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
video:50kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Conversion failed! exception thrown: Error: Conversion error: ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with emcc (Emscripten gcc/clang-like replacement) 1.39.11 configuration: --cc=emcc --ranlib=emranlib --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-fast-unaligned --disable-pthreads --disable-w32threads --disable-os2threads --disable-debug --disable-stripping --disable-safe-bitstream-reader --disable-all --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avfilter --enable-swresample --enable-swscale --disable-network --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vdpau --enable-decoder=vp8 --enable-decoder=h264 --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=mp3 --enable-decoder=aac --enable-decoder=pcm_s16le --enable-decoder=mjpeg --enable-decoder=png --enable-demuxer=matroska --enable-demuxer=ogg --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=wav --enable-demuxer=image2 --enable-demuxer=concat --enable-protocol=file --enable-filter=aresample --enable-filter=scale --enable-filter=crop --enable-filter=overlay --enable-filter=hstack --enable-filter=vstack --disable-bzlib --disable-iconv --disable-libxcb --disable-lzma --disable-sdl2 --disable-securetransport --disable-xlib --enable-zlib --enable-encoder=libx264 --enable-encoder=libmp3lame --enable-encoder=aac --enable-muxer=mp4 --enable-muxer=mp3 --enable-muxer=null --enable-gpl --enable-libmp3lame --enable-libx264 --extra-cflags='-s USE_ZLIB=1 -I../lame/dist/include' --extra-ldflags=-L../lame/dist/lib libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 Input #0, matroska,webm, from 'input.webm': Metadata: encoder : Chrome Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0(eng): Video: vp9, none(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 1k tbr, 1k tbn, 1k tbc (default) Metadata: alpha_mode : 1 Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0(eng): Video: vp9 (vp09 / 0x39307076), none(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1k tbr, 16k tbn, 1k tbc (default) Metadata: alpha_mode : 1 Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help Unknown bitstream filter 'vp9_superframe' av_interleaved_write_frame(): Bitstream filter not found frame= 1 fps=0.0 q=-1.0 Lsize= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
video:50kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Conversion failed! ,Error: Conversion error: ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with emcc (Emscripten gcc/clang-like replacement) 1.39.11 configuration: --cc=emcc --ranlib=emranlib --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-fast-unaligned --disable-pthreads --disable-w32threads --disable-os2threads --disable-debug --disable-stripping --disable-safe-bitstream-reader --disable-all --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avfilter --enable-swresample --enable-swscale --disable-network --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vdpau --enable-decoder=vp8 --enable-decoder=h264 --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=mp3 --enable-decoder=aac --enable-decoder=pcm_s16le --enable-decoder=mjpeg --enable-decoder=png --enable-demuxer=matroska --enable-demuxer=ogg --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=wav --enable-demuxer=image2 --enable-demuxer=concat --enable-protocol=file --enable-filter=aresample --enable-filter=scale --enable-filter=crop --enable-filter=overlay --enable-filter=hstack --enable-filter=vstack --disable-bzlib --disable-iconv --disable-libxcb --disable-lzma --disable-sdl2 --disable-securetransport --disable-xlib --enable-zlib --enable-encoder=libx264 --enable-encoder=libmp3lame --enable-encoder=aac --enable-muxer=mp4 --enable-muxer=mp3 --enable-muxer=null --enable-gpl --enable-libmp3lame --enable-libx264 --extra-cflags='-s USE_ZLIB=1 -I../lame/dist/include' --extra-ldflags=-L../lame/dist/lib libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 Input #0, matroska,webm, from 'input.webm': Metadata: encoder : Chrome Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0(eng): Video: vp9, none(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 1k tbr, 1k tbn, 1k tbc (default) Metadata: alpha_mode : 1 Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0(eng): Video: vp9 (vp09 / 0x39307076), none(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1k tbr, 16k tbn, 1k tbc (default) Metadata: alpha_mode : 1 Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help Unknown bitstream filter 'vp9_superframe' av_interleaved_write_frame(): Bitstream filter not found frame= 1 fps=0.0 q=-1.0 Lsize= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
video:50kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Conversion failed!

at Object.onExit (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/webm-to-mp4/index.js:20:11)
at h.quit (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:19:34)
at Cb (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:18:76)
at R (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:101:406)
at rd (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:129:108942)
at Ae (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:129:157758)
at b (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:16:439)
at Va (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:17:483)
at module.exports (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:161:115)
at module.exports (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/webm-to-mp4/index.js:8:9)
at Object.onExit (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/webm-to-mp4/index.js:20:11)
at h.quit (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:19:34)
at b (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:17:77)
at Va (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:17:483)
at module.exports (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/ffmpeg.js/ffmpeg-mp4.js:161:115)
at module.exports (/home/willmil11/vscode/Webm-to-mp4-gui/node_modules/webm-to-mp4/index.js:8:9)
at /home/willmil11/vscode/Webm-to-mp4-gui/app.js:69:49

Please note the code is running in a debian based virtual machine if i need to install anything special to make it work with the cpu instead of the inexistent gpu cuz its a virtual machine tell me be simple tho im not a noob but not a pro :)

willmil11 commented 1 year ago

Thanks for your future help :)

Richienb commented 1 year ago

This module remuxes the file. That is, it directly copies the video and audio parts from the web container into the mp4 container with no modifications. The input file uses the vp9 video codec which is not supported in the mp4 container.