Open vigneshsudhakar opened 3 years ago
request_video_url
is an URL instead of a path to a local file, I suppose, right?
request_video_url
is an URL instead of a path to a local file, I suppose, right?
Yes it is an URL, at least in my code. Works fine in Windows.
Could you share the versions of moviepy and FFmpeg that you are using in both platforms?
Could you share the versions of moviepy and FFmpeg that you are using in both platforms?
On windows: imageio==2.9.0 imageio-ffmpeg==0.4.3 moviepy==1.0.3
On Linux server: imageio==2.9.0 imageio-ffmpeg==0.4.3 moviepy==1.0.3 ffmpeg version 4.2.4-1ubuntu0.1
Could you share the version of FFmpeg in Windows? You should be able to see it executing ffmpeg
in the console.
Could you share the version of FFmpeg in Windows? You should be able to see it executing
ffmpeg
in the console.
I don't have FFmpeg installed in windows. "'ffmpeg' is not recognized as an internal or external command, operable program or batch file."
Okay, in that case, could you execute this? python3 -c "import imageio_ffmpeg as i;print(i.get_ffmpeg_version())"
python3 -c "import imageio_ffmpeg as i;print(i.get_ffmpeg_version())"
On windows: 4.2.2
Same command on Linux server: 4.2.2-static
Could you double check if you are sharing the full traceback? The binary message returned by FFmpeg seems hidden:
MoviePy error: FFMPEG encountered the following error while writing file liquids.mp4:
b''
Could you double check if you are sharing the full traceback? The binary message returned by FFmpeg seems hidden:
MoviePy error: FFMPEG encountered the following error while writing file liquids.mp4: b''
That just happens sometimes/for some errors. I'm not sure if it is because ffmpeg is genuinely not returning anything or if moviepy is just failing to parse it.
Could you double check if you are sharing the full traceback? The binary message returned by FFmpeg seems hidden:
MoviePy error: FFMPEG encountered the following error while writing file liquids.mp4: b''
Yes, this is the full traceback I got, that is why I was wondering if there is any other way to get the full error message.
The URL that you are using is http or https? If it is https, you should check if your FFmpeg version in Ubuntu server has been built with OpenSSL support.
The URL that you are using is http or https? If it is https, you should check if your FFmpeg version in Ubuntu server has been built with OpenSSL support.
It is https.
Executing ffmpeg
in Ubuntu, check if --enable-openssl
appears in the banner.
The URL that you are using is http or https? If it is https, you should check if your FFmpeg version in Ubuntu server has been built with OpenSSL support.
Supported file protocols: Input: async bluray cache concat crypto data ffrtmphttp file ftp gopher hls http httpproxy https mmsh mmst pipe rtmp rtmps rtmpt rtmpts rtp sctp srtp subfile tcp tls udp udplite unix sftp Output: crypto ffrtmphttp file ftp gopher http httpproxy https icecast md5 pipe prompeg rtmp rtmps rtmpt rtmpts rtp sctp srtp tee tcp tls udp udplite unix sftp
Looks like https is supported by the version of ffmpeg I have in my Linux server
--enable-openssl
Nope
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
Executing
ffmpeg
in Ubuntu, check if--enable-openssl
appears in the banner.
@mondeja how do I enable openssl for ffmpeg. Tried few options listed in other sites, no luck.
You need to compile FFmpeg yourself enabling openssl.
You need to compile FFmpeg yourself enabling openssl. @mondeja
ffmpeg -i https://xyz.mp4 -i https://LogoTransparent.png -filter_complex "overlay=0:0" output.mp4
This works fine, only when I access through code it is throwing that errno32. If ssl was the issue, it shouldn't be working while I use command line as well right?
use (threads =4,ffmpeg_params =['-f', 'mp4']) these params in write_videofile function worked for me
I am trying to add watermark image to a video and upload it to S3, since I was not able to upload a video directly to S3, what I am doing is saving the video in local and then upload the local file to S3
Same code works fine in windows desktop but error happens in Ubuntu server.
I am getting an error while the execution reaches
final.write_videofile(filename, audio=True)
I'm not sure if this is the whole error message or whether MoviePy is not giving the full error for some reason.
I am looking for any kind of help. 1) Upload directly to S3 without having to save in local 2) Fix this broken pipe error 3) Figure out why I am not getting the full error.
Any one of the above should sort me out, been stuck on this for a while now, and I am kind of new to this, any help would be appreciated.
Thanks in advance.