Hello everyone,
There is a while i didn't came here, and i always loved this place.
Long story short i made a free video converter based on FFmpeg which can converter to professional and standards codecs with hardware acceleration (Nvenc, QSV, AMF...)
Works on Windows, Mac and Linux.
I started this project in 2013 developing with video editor (that i am also) in broadcast companies.
Here is a link to the website & downloads : https://www.shutterencoder.com
Hope you will enjoy the software.
Happy encoding !
Paul.
Glad to see a developer around here. Can you speak on the catch or compromises of using your tool VS using ffmpeg directly or industry-standards like handbrake?
Thanks for the reminder about shutterencoder.
Can you add some screenshot and also make some demo video?
Benchmarks can be also nice.
Just converted a 1080p30 XAVC-S 50Mbps MP4 from a Sony camera to XAVC 422 10bit at around 400Mbps MXF file. It took a while but it works. Converting to DNxHR was faster than real-time. The result looks about the same as XAVC, with a smaller file size and still 10bit. Thanks Paul
@paulpacifico first of all thanks for your effort and the decision to give it for free! It is not an obvious choice and we should all be thankful, regardless of the level of performance of the tool. I do lots of conversions so I'll try it soon and will give you my feedback.
This a simple video trimmer as well.
One more update. I converted an XAVC-S file to a variety of formats: ProRes, DNxHD, DNxHR, XAVC, H.265, AV1, AVC-Intra 100x XDCAM, etc and it all worked perfectly. I was surprised that even H.265 didn't take long on my old system.
A couple of things: in DNxHD for example, NTSC presets appear to be missing, and only PAL (25, 50fps) are available judging by the the codec specifications http://operationalportal.com/wp-content/uploads/AVID_DNxHD_Codec.pdf 45, 145, 220, and 220x presets are missing for example (1080p30 and 720p60). Also 110 and 110x for 720p30
The remaining time and elapsed time are rarely accurate. For example: With XAVC the progress bar reached 100% but the elapsed time kept going because the conversion was not done, until a minute+ later. But to be fair, most conversion programs behave the same.
AV1 took the longest by far, and there were glitches in the resulting file (playback with VLC and MPV, glitch happened in the same position).
Sometimes is hard to tell which codec preset is really putting out 10-bit files, so I will suggest using MediaInfo to identify the correct presets if you need 10-bit. For example: DNxHR HQ is 8-bit, but HQX is 10-bit with the same bitrate/file-size.
Great program Paul, thank you for sharing. I can finally get rid of my text files with ffmpeg commands for different conversions.
Thanks everyone for your feedbacks,
@jazzroy keep me informed and feel free to ask me anything about Shutter.
@theusualeditor for a quick explanation :
Using FFmpeg is really powerfull and you get control of everything available, but as you said writing scripts for everything can be very long.
Also the main advantage from Shutter, it used a lot FFprobe to get all metadata needed for conversion (fps, timecode, fields, audio channels, Apple metadata and everything possible). It's more a research job i did, to get the most of every codecs related to their command.
About Handbrake, they shared the same library, if you only use H.264/H.265 conversion use the one you prefer, but Shutter get some usefull codecs especially for editing, and it's also a good toolbox.
So nothing faster than FFmpeg simply a much usefull usage of this great tool that i made for my self. People asked me to use it so i decide to share this work for everyone.
Usage of DNxHD bitrates is a bit weird with FFmpeg, because if you choose for instance 120Mbits with a 24fps input source you will get 115Mbits ouput, that's why most of NLE decided to use LB,SQ,HQ even for DNxHD. But i will add the other bitrates for the next release.
Remaining time should be very accurate, the main thing is at the end FFmpeg has to complete the file by writing MOOV atom and other metadatas which take a bit of time, but the encoding has been reached 100% of conversion.
AV1 still a new codec, and glitch probably happens from decoder also. I try to upgrade everytime FFmpeg to get the most recent codecs update.
You have Mediainfo embedded in Shutter Encoder, use right-click on file then "Informations..."
@Vitaliy_Kiselev also you can use FFmpeg directly by writing a command in "Choose function" combobox WITHOUT providing input and ouput, for instance : ffmpeg -c:v libx264 -b:v 5000k -an
And use the second combobox to choose your extension.
@paulpacifico I really like that the encoding queue shows the full ffmpeg command. It would be great if there was a copy/paste function to reuse it in a terminal or script, and if it even could be editable in the queue to hand-tweak parameters, such as adding ffmpeg parameters that aren't supported by the GUI.
Is my assumption correct that Shutter Encoder uses a patched version of ffmpeg with the SVT-AV1 encoder? This worked for me once, but later attempts of encoding AV1 via the queue resulted in truncated output files with only a few seconds length.
Thanks @cantsin for your feedback,
You can double click on render queue text to re-use or edit the command line, also CTRL+S (or CMD+S) save your settings for Shutter as .enc (=xml) file.
For SVT-AV1, I use the latest builds for Zeranoe which include it, for Linux i compile myself FFmpeg with SVT-AV1. I will take a look with AV1 from render queue but i know it's a not perfectly stable codec.
Because Zeranoe is closing the 18th september i will try to build FFmpeg for Windows and Mac myself, but that's a lot of work...
I'll keep you informed.
@paulpacifico I made some conversions (mainly MXF and DNxHR outputs) and everything went smooth. I really appreciate the way you organized the presets, it is a great time saver. Still need to test the advanced functions (especially trim/LUT/stabilize), I'd like to finalize some clips libraries without using an NLE.
Thanks a lot, if you have any advise i'm very listenning to people recommandations.
Finally something better than AnotherGUI! THANK YOU! (for reference: http://www.stuudio.ee/anothergui/ )
Hi there been using your software for a while now very good, love the simple and easy to use interface, the option to easily update, all formats the ability to overlay image, and make simple cuts, etc...
The only thing I steel use Xmedia recode for is for adding subtitles, they support .ass files flawlessly, .srt can be a pain to retain styles. If shutter encoder support that feature I would probably change completely.
THANKS keep the amazing work.
@leonbeas thanks a lot !
That's a very intersting thing, because Shutter use FFmpeg which is 100% compatible with .ass subtitles.
So why you can't ? Because .ass files works totally differenlty, i cannot fully change subtitles options. But most of settings (font, color etc.) are embedded inside.
Well, i will add the ability to use .ass file into Shutter by limiting settings options from subtitles window.
Thanks for your feeback.
@paulpacifico WOW amazing this will be a game changer for me at least.
If possible add the option to hard-burn or just embed subs. I will gladly test it for you, for this or other features. Thanks amazing work.
@leonbeas i finally added .ass subtitles support to Shutter Encoder. I'm still working for the v14.3 so please let me know if you want a pre-release. It will also helps me to have some beta testers.
Thanks, Paul.
@paulpacifico count me in, glad to help if I can.
please add levels and full range video 16-235 and 0-255 and gamma tags. this will help translating across different NLE's! additionally adding 10 bit h.264. 265 support would be cool. or even .266 when it comes out. btw, this is selling like hotcakes.
@leonbeas on which OS you are?
@hardimpact you can change levels from "Advanced features" -> "Force output" with H.264/H.265 Also you can use 10bits from "Colorimetry" -> "Colorspace" I"m keeping ready to add H.266 conversion when it's stable.
Feedback Thanks for sharing i do not use converters but just wanted to try. Hardware acc is not seen and crash when videobox is set (whatever it is) M. encoder works correct with Cuda and Mercury atm :) OSX 13.6 Nvidia 980TI Web driver for Cuda
@konjow could you please click on "Show console" and send me the log at: paulpacifico@free.fr Thanks.
Nvidia is there at first but despairs when click on advance.
Log:
Command: -i "/Volumes/3 Export/PG911907_1.mov" -map v -c:a aac -ar 48k -b:a 256k -map a:0 -c:v h264_videotoolbox -profile:v high -level 5.1 -b:v 20000k -pix_fmt yuv420p -sws_flags bicubic -y "/Volumes/3 Export/PG911907_1_H.264.mp4"
ffmpeg version git-2020-08-28-ccc7120 Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.8)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --enable-libsvtav1 --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox
libavutil 56. 58.100 / 56. 58.100
libavcodec 58.101.100 / 58.101.100
libavformat 58. 51.101 / 58. 51.101
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/3 Export/PG911907_1.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2020-10-22T19:42:26.000000Z
Duration: 00:09:30.88, start: 0.000000, bitrate: 161924 kb/s
Stream #0:0(eng): Video: prores (LT) (apcs / 0x73637061), yuv422p10le(tv, bt709, progressive), 1920x1080, 160373 kb/s, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 50 tbn, 50 tbc (default)
Metadata:
creation_time : 2020-10-22T19:42:26.000000Z
handler_name : Apple Video Media Handler
encoder : Apple ProRes 422 LT
timecode : 00:00:00:00
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
creation_time : 2020-10-22T19:42:26.000000Z
handler_name : Apple Sound Media Handler
timecode : 00:00:00:00
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2020-10-22T19:42:26.000000Z
handler_name : Time Code Media Handler
timecode : 00:00:00:00
Stream mapping:
Stream #0:0 -> #0:0 (prores (native) -> h264 (h264_videotoolbox))
Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_videotoolbox @ 0x7f899c001e00] Error: cannot create compression session: -12908
[h264_videotoolbox @ 0x7f899c001e00] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
It looks like you're new here. If you want to get involved, click one of these buttons!