Giter Club home page Giter Club logo

axiom's Introduction

https://github.com/MattMcManis/Axiom

Axiom

An FFmpeg GUI for Windows

 

Overview

Axiom generates command scripts to be processed by the multimedia encoder, FFmpeg, and streams analyzer, FFprobe.

Convert to webm, mp4, mkv, avi, ogv, mp3, m4a, ogg, flac, wav, png, jpg, webp and more.

Axiom

 

Features

  • The Power of FFmpeg in a Minimal Interface
  • Convert any media file to multiple formats
  • Cut Video and Audio timeline
  • Resize Video to standard aspect ratios
  • Lossless, Constant and Variable Quality
  • Auto-Quality and Copy Modes
  • Advanced Batch Processing
  • Video to Image Sequence
  • Custom User Defined Settings
  • Command Script Generator

 

Downloads

Axiom

Latest Release

Included Files

Requirements

FFmpeg Builds

https://www.gyan.dev/ffmpeg/builds
https://github.com/BtbN/FFmpeg-Builds/releases

 

Installation

Axiom is portable and can be run from any location on the computer.

  1. Extract Axiom.FFmpeg.7z to a location of your choice.
  2. Run Axiom.exe or create a shortcut on the Desktop.
  3. It will automatically detect ffmpeg.exe and ffprobe.exe in the included ffmpeg folder.
  4. If you move the ffmpeg folder, set the Windows Environment Variable or specify a path in the Axiom Settings Tab.

Add FFmpeg to Environment Variables (optional):

  1. Move the ffmpeg folder to a location of your choice, such as C:\Program Files\.
  2. Go to Control Panel → System and Security → System → Advanced system settings
  3. Advanced Tab → Environment Variables → System variables → Path
  4. Add C:\Program Files\ffmpeg\bin\
  5. Separate multiple paths with a semicolon ; (Windows 7, 8, 8.1)
  6. Typing ffmpeg in Command Prompt will now execute without needing to specify a direct path.


YouTube Download

youtube-dl.exe is included in Axiom.FFmpeg.7z.
Requires Microsoft Visual C++ 2010 x86 & Python (2.6, 2.7, or 3.2+) installed.

Axiom will auto-detect it in its included folder. You can also add it to Windows Environment Variables or specify a path in the Axiom Settings Tab.

  1. Paste a YouTube URL into the Input TextBox
  2. Download file only:
    • Select Preset: YouTube-DLVideo or Music, Press Download
  3. Download and Convert:
    • Select any Presets or Settings you need and Press Convert
  4. Generate a Script without Downloading:
    • Select any Settings you need and Press Script

 

Resources

 

Build

Visual Studio 2015
WPF, C#, XAML
Visual C++ 19.0 Compiler

 

Donate

Thank you for your support.

axiom's People

Contributors

mattmcmanis avatar n-ski avatar nkh0472 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

axiom's Issues

Some feedback and feature requests

Thank you so much for developing this software, it makes using ffmpeg which would otherwise be a really big pain effortless and easy, so I really appreciate the effort you've put in.

I have some suggestions for changes that I think would improve the UI and make it even easier to use.

  1. It would be good if the settings for the default preset when the program opens could be changed, or the program opens with the same preset that I was using before I previously closed the software.
  2. The toggle VBR button isn't very clear on whether VBR has in fact been selected or not, the only way you can tell is if you click script and then see if it says -q:v or -b:v.
  3. Unsure why it doesn't already work, but being able to enter numbers (bitrates, timestamps, etc.) using the numpad would be more convenient rather than being forced to use the number keys at the top of the keyboard.

Thanks in advance :)

Higher quality or lossless background image please?

I know this is a bit of nitpick, but I can't just stand there and take it when it's so noticeable, especially when you maximize the window and the issue becomes an urge to fix it, see here:
image

It's not quite noticable if it's in small window, but if on a screen size 2560x1440 or you stretch the window out for whatever reason, it is.....

Now that I know it's there, I can't not know and ignore it....it's like you discovering a hidden meaning or easter egg in something and once you know, you just can't get it out of your head when you see it even if it's hidden from view at first......

Sorry if I offended you....

Batch script failing to set vBitRate

...
SET /a vBitRate=2903098513*8/1000/3664*1000
Invalid number.  Numbers are limited to 32-bits of precision.
...

All log:

X:\W>(echo)  & for /F "delims=" %S in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries format=size -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET size=%S )  & for /F %S in ('echo %size%') do (echo)  & for /F "delims=" %D in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET duration=%D )  & for /F "tokens=1 delims=." %R in ('echo %duration%') do (SET duration=%R )  & for /F %D in ('echo %duration%') do (echo)  & for /F "delims=" %V in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET vBitRate=%V )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if %V EQU N/A (SET /a vBitRate=%S*8/1000/%D*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo %V     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "%V" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd
ECHO is on.

X:\W>(SET size=2903098513 )  & for /F %S in ('echo %size%') do (echo)  & for /F "delims=" %D in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET duration=%D )  & for /F "tokens=1 delims=." %R in ('echo %duration%') do (SET duration=%R )  & for /F %D in ('echo %duration%') do (echo)  & for /F "delims=" %V in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET vBitRate=%V )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if %V EQU N/A (SET /a vBitRate=2903098513*8/1000/%D*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo %V     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "%V" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd

X:\W>(echo)  & for /F "delims=" %D in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET duration=%D )  & for /F "tokens=1 delims=." %R in ('echo %duration%') do (SET duration=%R )  & for /F %D in ('echo %duration%') do (echo)  & for /F "delims=" %V in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET vBitRate=%V )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if %V EQU N/A (SET /a vBitRate=2903098513*8/1000/%D*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo %V     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "%V" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd
ECHO is on.

X:\W>(SET duration=3664.672000 )  & for /F "tokens=1 delims=." %R in ('echo %duration%') do (SET duration=%R )  & for /F %D in ('echo %duration%') do (echo)  & for /F "delims=" %V in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET vBitRate=%V )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if %V EQU N/A (SET /a vBitRate=2903098513*8/1000/3664.672000*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo %V     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "%V" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd

X:\W>(SET duration=3664 )  & for /F %D in ('echo %duration%') do (echo)  & for /F "delims=" %V in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET vBitRate=%V )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if %V EQU N/A (SET /a vBitRate=2903098513*8/1000/3664.672000*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo %V     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "%V" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd
X:\W>(echo)  & for /F "delims=" %V in ('@"D:\dev\Axiom\ffmpeg\bin\ffprobe.exe" -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "Movie.mkv" 2>&1') do (SET vBitRate=%V )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if %V EQU N/A (SET /a vBitRate=2903098513*8/1000/3664*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo %V     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "%V" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd
ECHO is on.

X:\W>(SET vBitRate=N/A )  & for /F %V in ('echo %vBitRate%') do (echo)  & (if N/A EQU N/A (SET /a vBitRate=2903098513*8/1000/3664*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo N/A     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "N/A" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd

X:\W>(echo)  & (if N/A EQU N/A (SET /a vBitRate=2903098513*8/1000/3664*1000 )  ELSE (echo Video Bit Rate Detected ) )  & for /F %V in ('echo %vBitRate%') do (echo)  && echo N/A     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "N/A" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd
ECHO is on.
Invalid number.  Numbers are limited to 32-bits of precision.

X:\W>(echo)  && echo N/A     && pause    && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "Movie.mkv"   -c:v libx265  -preset slow  -b:v "N/A" -pix_fmt yuv420p    -x265-params pass=1  -sn  -an   -f matroska   -threads 12   NUL     && "D:\dev\Axiom\ffmpeg\bin\ffmpeg.exe" -y   -i "\\NAS\Downloads\W\Movie.mkv"   -c:v libx265  -preset slow    -pix_fmt yuv420p    -map 0:v? -map_chapters 0  -x265-params pass=2   -c:s ass  -map 0:s?   -c:a aac  -b:a 224k -rematrix_maxval 1.0 -ac 2  -map 0:a?   -map_metadata 0   -f matroska   -threads 12   "\Movie.mkv"    && popd
ECHO is on.
N/A

Feature Request: Crop Preview

Basically just a request to make cropping easier. Would work similar to this:
crop

I understand that you can preview the output after adjusting your crop settings but it's still a lot of trial and error (at least for me) and this would make things so much easier.

Incorrect value for -q:a

Axiom generated -q:a 4,48816 instead of -q:a 4.48816, which I assume is due to the fact that my system is set to a European language.

High DPI breaks tab layout

Didn't realise this was a bug until I saw other screenshots and disabled High DPI settings, but the tabs are a little bugged with it enabled. It's not that big of a deal since everything still works, but with the way tabs focus when selecting them, it can be a little confusing.
highdpi

Add more transcode profiles

As already started partially in another issue chain, this would be a great addition, considering Handbrake already has theirs setup well for an average joe who knows nothing abot computers or any of the technical jargon to bother manually configuring their encode settings correctly.

Subtitles

that need \ before the colon : (i.e. \:) and \\ in place of single backslashes \ e.g.:

subtitles=C\:\\users\\\\home\\desktop\\subs.srt

AMF Option for Hardware Acceleration

Given that the UI has support for Nvidia-only API's, could AMD's alternative (AMF) be added to the HW Accel dropdown? Maybe also adding a tooltip about the GPU requirements for each.

[Bug]: Run button doesn't show any reaction after upgrading to v1.8.3-alpha

This problem occurs only if you use an older version and upgrading to v1.8.3-alpha.

Problem Details:

After adding the Shell feature, because previous versions did not have this feature, the config file (axiom.conf) does not contain the Shell_SelectedItem setting and the VM.ConfigureView.Shell_SelectedItem property will be set to empty in the ReadConfig method but in UI it still shows CMD selected.

Therefore the FFmpegStart method won't do anything (It would have been better to throw an exception or showing MessageBox in the default case of switch statement)

At the end when App is closing and the ExportConfig method is called, the Shell_SelectedItem setting will not be set (because of empty value) 

This problem is solved when the shell ComboBox (cboShell) value changes once that cause set the VM.ConfigureView.Shell_SelectedItem property value and saving the setting in axiom.conf on app closing.

User Interface

Hello,
@MattMcManis
is it possible for you to create something similar to the same software but much lighter and also have an some tutorial for eg: changing user interface?
Thanks. I have used this software for a long time and it's great.

Support for avi (mpeg4/mp3)

I know this is a situation that kinda looks like going few steps back but some of us from the 3rd world (stand alone dvd players/tv's) still can use only Xvid videos with MP3.

Would be great if you could add support for quick choosing of the commands.

Zeranoe's builds removed support for libxvid but mpeg4 is still there. Thanks in advance.

https://trac.ffmpeg.org/wiki/Encode/MPEG-4

Can't Batch Encode Wav Files

Hi there, it's little GUI is quite amazing. I do have one issue I can't encode wav files in batch. If I do ffmpeg errors saying it can't find the encoder and setting are wrong. But if you do the files on there own with the exact same settings they do encode.

Support for NVENC

Hi,

I've been using Axiom a few times now and I really like it.

Now that I'm encoding larger videos, I'm starting to miss support for hardware encoding (or more specifically, NVENC), see https://trac.ffmpeg.org/wiki/HWAccelIntro#NVENC.

Could you add the option to use h264_cuvid and h264_nvenc?

Thanks!
zakx

can you provide for linux?

can you provide this awesome tool for linux ? it's very helpfull I never used such easy tool to manage my own configurations in ffmpeg with such perfection.

Custom video bitrate doesn't work

Changing the video bitrate to custom and setting it, changes the command in "Script", but the video output is always the same bitrate and size.

2018-05-14_20-31-50

Is there a setting I'm missing?

I can't seem to be able to edit the scripts

First of all congratulations and thank you for the app. It's a simple & straightforward app (as all apps should be).

I decided to change the auto-generated ffmpeg script to reflect the advice found here: https://trac.ffmpeg.org/wiki/Encode/VP9

After waiting for 6 hours for my 1-minute video to encode... I checked the app log just to verify that the correct settings were used only to find out that I don't have control over the script and all the changes I made were scraped.
LOG:
-speed 6 -q:v 4000K
What I had in the screen before I pressed Run:
-cpu-used 0 -deadline best -row-mt 1 -b:v 0 -crf 30

  1. I thought that the convert button should scrap those changes but the "Run" button that I used should run the scripts shown on the GUI
  2. By the way... should I regard that URL I mentioned above as the most relevant info on encoding VP9? (I know that is irrelevant to the development but hey!)

Thank you for your time

Adding yadif and make settings portable

Cool tool. Could you add the option to use yadif?
And also, would it be possible to save the settings file in the same folder as the binary? Currently it is saved in the user folder. I am using it on a network path and more than one user would have access to it, so the settings in the same folder as the binary would help me.

Adding colour features to video tab

Hey, just an idea about adding colour range, colour primaries, transfer characteristics, matrix coefficients to the video tab on Axiom. I have been using the program the past few weeks and am really liking that you did an option for custom presets because I was looking for a GUI that was minimal and that would have all the features that I would like and save my options :).

.m4a encoding error

I get an issue when trying to encode from any source audio file to .m4a.

Requested output format 'm4a' is not a suitable output format
D:\File.m4a: Invalid argument

I can make it work by changing -f m4a to -f adts

While this works nearly perfectly it results in extra time being added to the file, for example 01:00:00 became 01:36:48 and I'm not sure why.

I also tried the 'Cut' option which added -ss 00:00:00.000 -to 00:01:00.000 to the script but it results in the same issue.

CLI for File Properties box

Is there a way to use the File Properties box (perhaps even by itself) via a command line?

For example, I want to right-click an MKV (or any media format) in Windows Explorer, then perhaps create one or both of below, to use Axiom's File Properties box/window easily.

  1. SendTo icon.

  2. Or I could manually create a Shell command in the Registry pointing to Axiom with the approriate options/switches for the File Properties box. Similar to the "Open with Notepad" Registry trick taught on some forums, blogs, etc.

Thanks.

Support for MagicYUV?

I recently read that's another lossless video codec which is supposedly the most efficient one of all. I can't actually find any documentation on this codec anywhere on the use of this in ffmpeg besides invoking it and without correct syntax documentation I don't even know how it works commandline wise.... I think ffmpeg only supports the free tier version, whilst the paid version supports 10 bit videos and higher and probably other features that I don't recall from the top of my head... Otherwise why would you pay for it if you can just get ffmepg to do it for you for free? Hahaha Unless the convenience is better paid...

Run script in powershell

Why? For example run UNC paths, like:

'\\NAS\Movies\'
CMD does not support UNC paths as current directories.

Could not find stereo3d filter under filter tab

Hello,
Tons of thanks for initiating this application.
Your efforts are highly appreciated.

Its not bug but an important (show stopper for me) filter " stereo3d filter" is missing in filter tab

Please add minterpolate feature

First off I would just like to thank you for taking the time to develop this, its the best FFMpeg GUI I've been able to find. My request is simply the title. I would like to play around with frame interpolation for animation. If you could take the time to add this I would really appreciate it!

[FEATURE REQ] x265 yuvj420p option

My Google Pixel 3 encodes videos in HEVC using pixel format yuvj420p, but that option does not show up for x265. I only see, among others, yuv420p (without the j).

If I use x264, the option yuvj420p does show up.

I'm not a video tech, just a user. Some internet postings suggested that yuvj420p may be outdated, but if Google is using it for their Pixel phones, then it must still be valid. Could you add that option for x265?

I end up always having to manually adjust the script by hand. There's a definite difference if I instead use yuv420p (without the j) -- the darks are greyed out.

Thanks for this wonderful work!

Possible addition of Advanced Audio Channel Manipulation

Hey there, I've been trying (and failing) to execute an ffmpeg command that will split my 5.1 video into 6 seperate audio tracks as detailed here.

This would be a powerful addition to the default GUI toolset!

As an Edit: I'm trying to train a tensor flow AI model for vocal isolation for film and TV - whereas most traditional models are for music. At the moment, my workflow is:

Split Audio into 5.1 -> Isolate the centre (vocal) channel -> Save centre channel -> Save other channels.

It's very tedious in Adobe Audition or Audacity considering I've got a data set of around 60 hours and I was hoping ffmpeg would be my saviour!

Having trouble batch converting flac files to mp3

I found your tool while looking for a way to convert flac to mp3 and it works well for converting a single file. Unfortunately I'm having trouble getting it to work in batch mode to convert ~300 files. The command window is opening and then closing almost immediately.

Not sure what's going wrong... Here's the scripting it's generating:

cd "D:\Convert\FLAC" && for %f in (*.flac) do (echo) && "C:\Applications\Axiom.FFmpeg\ffmpeg\bin\ffmpeg.exe" -y -i "D:\Convert\FLAC\%~f" -vn -sn -acodec copy -map 0:a:0? -map_metadata 0 -id3v2_version 3 -threads 8 "D:\Convert\MP3\%~nf.mp3"

It looks okay to me. Any idea what the hangup might be?

Setting HW Accel to "nvenc" when using x265 does not set the encoder to "hevc_nvenc" as expected

Hi!
I noticed that with nvenc on x264 I got an encoding framerate >100fps, while with x265 the performance was an abysmal ~15 fps.

The issue: on x264 with HW Accel set to nvenc, the program properly sets the encoder to h264_nvenc, while on x265 the encoder is always set to libx265. I verified this by manually changing the encoder in the generated script to hevc_nvenc and this resulted in good encoding performance similar to x264 with nvenc enabled. Hopefully this is an easy fix.

I am using version 1.7.9.1-Alpha.

Best regards,
Henri

[FEATURE REQ] Variables/tokens in output file name

Ok, I submitted two issues and you solved them within a couple of days. Blown away!
So I'm probably over-reaching now :-), but here's another enhancement idea.

When I'm trying different permutations to see what quality/space/time tradeoffs are best in different situations, I end up naming my output files with the encoding parameters, e.g.:
"outfilename 1080p x265 crf35 p-superfast opus.mp4"
"outfilename 1080p x265 crf30 p-superfast opus.mp4"
"outfilename 1080p x265 crf25 p-medium opus.mp4"
etc.

Variable/token placeholders in the output filename would remove the need to edit the output filename in the script manually. For example:
"outfilename <size> <vcodec> crf<crf> p-<preset> <audiocodec>.mp4"

I chose the "<>" signs as the delimiters because a) those two characters are not allowed in Windows filenames , b) makes it easy to read, and c) thought it would be easier for a parsing routine than using the same character before and after the token (e.g. :crf: :size:). But I don't know if that's the best choice, or there is a more "standard" syntax that should be used.

Alternatives:

  • I couldn't find a similar feature for ffmpeg, so no syntax guidance there.
  • DOS uses % signs. OBS Studio uses one "%" sign, eg. "%CCYY-%MM-%DD %hh-%mm-%ss". But that's not good since "%" is a valid Windows character, and so it would then have to be escaped.
  • I don't use any other video software, so I have no good reference. I did search the web looking for a syntax convention but didn't really find anything special. I did find an interesting link re: video filenaming (https://blog.frame.io/2018/10/22/file-naming-practices/), but it gives no syntax guidelines for variables/tokens. I searched for frame.io's syntax convention but couldn't really find anything -- it's hidden behind a fancy user interface.

Can't say this enough -- thank you for this wonderful piece of work! ffmpeg syntax is so overwhelming at first glance. Without Axiom, I never would have gotten started using it.

References:
https://docs.microsoft.com/en-us/windows/win32/msi/filename
https://ffmpeg.org/ffmpeg-all.html#Syntax
https://blog.frame.io/2017/11/22/9-premiere-pro-export-settings/
https://workflow.frame.io/guide/file-naming

Looking good so far! Av1 support?

Hi there!
I noticed you supported most standard outputs for mkv, but AV1 was added to ffmpeg in 5/29.

Plans on adding it in the next build?
image

Encode settings...

Yeah, scaling gets a bit complex if you don't know what you're doing....a videophile would leave those setting untouched and just use original source resolution size, aspect ratio and format. Unless they can manage to make the output video still look good or somehow better than source by adding various effects, whatever they may be....

I've also noticed that for UHD Disc preset, you don't use a lossless codec, such as DTS Master or Dolby TrueHD....and all 4K UHD bluray movies come with at least one lossless audio track.....thought that was the standard for FQHD?

Originally posted by @MattMcManis in #10 (comment)

Support for FFV1

Will Axiom have FFV1 support?
Also are there more advanced settings for denoising?

If we wish to download partial video from some youtube-dl supported site then it downloads entire file first and then splits them

Great application first of all. But this feature can be improved. I'll try to illustrate with an example. Let's say we're in PowerShell.
$a = youtube-dl --get-url _link_
ffmpeg -ss "00:00:00" -to "00:01"00 -i $a[0] -ss "00:00:00" -to "00:01"00 -i $a[1] output.mp4
Here $a[0] will be audio-only URL and $a[1] will be video-only URL.
It can be implemented for YouTube, Facebook because these two one some of those sites that give us audio and video URL separately when we run youtube-dl with --get-url argument. But still, same approach can work for other sites too only little variation will be required.

[FEATURE REQ] CMD options

Hi,
I always manually edit the script as follows:
(1) Add START "" /B /LOW before the ffmpeg command.
This opens a new window running in /LOW priority. Sometimes I use /BELOWNORMAL

(2) I change "-y" (overwrite output files) to "-n" (never overwrite output files)
Example:

START "" /B /LOW "C:\Users\user\path\to\Axiom 1.8.9.0\ffmpeg\bin\ffmpeg.exe" 

-n 

-i "input.mp4" 

If the GUI had options for adding those, it would be great. For example:

  • a dropdown called "Process Priority" with options for /LOW, /BELOWNORMAL, etc.
  • a checkbox called "Allow output file overwrite"

Thanks for this wonderful work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.