Git Product home page Git Product logo

qencoder's Introduction

Cross platform video encoding gui

Encoding video is slow. qencoder makes it fast!

Coreeeees

The most efficient av1 and vp9/vp8 encoders do not scale very well across lots of cpu cores. By intelligently splitting the video into multiple chunks, qencoder allows you encode better videos than with svt in much less time. qencoder is inspired by and uses code from Av1an, while delivering a more familiar gui experience for Windows and Linux.

Simple and easy to use

Simple view

You don't need to have a deep understanding of how video works to take advantage of qencoder. With extremely easy to use and powerful presets, qencoder is for everyone.

Powerful for those who need it

Advanced view

qencoder features many useful features which make it a powerful tool. With scene based splitting, qencoder is the first ever gui to take advantage of systems with hundreds of cores. By splitting at the right moments, qencoder ensures your videos do not have any overhead from unneeded keyframes.

It also is the first gui capable of boosting dark scenes. Allowing you to use lower q values to avoid nasty artifacts like banding when needed.

It allows you to configure the colorspace of both your input and output, to ensure that your hdr video stays hdr.

Finally, it supports minimal splitting, the ideal mode for 2 pass vbr encodes. This mode makes as few splits as possible, keeping them all as far apart as possible so that the bitrate stays as variable as possible.

Video queueing

Queue view

qencoder is the first gui av1 encoder to support proper video queueing. Setup the perfect encode for your video and add it to a queue. Repeat for as many videos as you want to encode. When you are done, save the queue to a file for later, or run it now with the encode button. If any videos are in the queue, qencoder will encode them.

Per Scene Encoding

Target vmaf

Per SCENE encoding, analogous to automatic per title encoding, lets you optimize your encodes to save space. Each scene can be encoded to target a specific vmaf (perceptual visual quality). Don't pay a cloud company to optimize your encodes, qencoder lets you do it all in house.

Free codecs

qencoder supports free codecs that can be encoded into webm. This means your videos can be shared and played on any html5 compliant browser. It also means that you do not need to worry about licensing fees or patent violation using it. Your encodes are yours, and should stay that way.

Using qencoder

Windows

Download the latest 7zip in the "releases" section.

Linux
Ubuntu:

Via pip:

First, install ffmpeg, an up to date version of aomenc, and an up to date version of vpxenc. Then install qencoder.

sudo apt update
sudo apt install python-pip vpx-tools aom-tools ffmpeg
pip install qencoder
Arch:

It's recommended that you install it from the aur:

https://aur.archlinux.org/packages/qencoder/

Others/Manual installation:

Git clone this repository:

git clone https://github.com/natis1/qencoder

cd qencoder

Then install ffmpeg and an up-to-date version of the aom encoder (for instance aomenc-git, on arch)

Then install the python requirements:

pip install -r requirements.txt

Then run it with

./qenc.py

Legal note

app.ico modified from Wikimedia Commons by Videoplasty.com, CC-BY-SA 4.0

pav1n.py contains code created by Master of Zen among others, originally licensed as MIT and relicensed as gplv3 for the version within this project.

qencoder's People

Contributors

iiiblueberry avatar lastrosade avatar natis1 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

qencoder's Issues

filename or extension is too long

HI there, I am running Win10 and recently installed your software by downloading the 7z file. Upon my first try with a new file I get the following error. File name is "F:~ Raw Movies\High Noon (1952).mkv", doesn't seem like it should be too long or anything wrong with the extension.

Running
100%|████████████████████████████████████████████████████████████████████▉| 122448/122469 [19:24<00:00, 105.11frames/s]
[WinError 206] The filename or extension is too long
Traceback (most recent call last):
File "qencoder\window.py", line 1159, in runInternal
File "concurrent\futures_base.py", line 432, in result
File "concurrent\futures_base.py", line 388, in __get_result
File "concurrent\futures\thread.py", line 57, in run
File "qencoder\window.py", line 1149, in runProcessing
File "parallelencode\run.py", line 24, in run
File "parallelencode\core\encode.py", line 49, in encode_file
File "parallelencode\chunks\chunk_queue.py", line 59, in load_or_gen_chunk_queue
File "parallelencode\chunks\chunk_queue.py", line 78, in create_encoding_queue
File "parallelencode\chunks\chunk_queue.py", line 159, in create_video_queue_segment
File "parallelencode\chunks\split.py", line 93, in segment
File "subprocess.py", line 854, in init
File "subprocess.py", line 1307, in _execute_child
FileNotFoundError: [WinError 206] The filename or extension is too long

In case it matters, my encode settings:
--threads=4 --kf-max-dist=240 --tile-columns=1 --tile-rows=1 --cpu-used=4 --end-usage=q --cq-level=40 --bit-depth=10 --i420 --lag-in-frames=28 --sharpness=0 --enable-keyframe-filtering=1 --enable-qm=1 --quant-b-adapt=3 --mv-cost-upd-freq=2 --enable-chroma-deltaq=1 --enable-fwd-kf=1

About cropping and target vmaf

VMAF can not work on videos with a different aspect resolution, target VMAF should be hard disabled if cropping is enabled.

You could fix this by first trans-coding the video to a lossless codec.

Ubuntu 20.10 clean install, fails to encode with basic settings

Maybe python 3.8 is too new?

sid@shiney:~$ sudo apt install vpx-tools aom-tools ffmpeg
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ffmpeg is already the newest version (7:4.3.1-4ubuntu1).
The following NEW packages will be installed:
  aom-tools vpx-tools
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 417 kB of archives.
After this operation, 2,153 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://ca.archive.ubuntu.com/ubuntu groovy/universe amd64 aom-tools amd64 1.0.0.errata1-3build1 [174 kB]
Get:2 http://ca.archive.ubuntu.com/ubuntu groovy/universe amd64 vpx-tools amd64 1.8.2-1build1 [243 kB]
Fetched 417 kB in 1s (304 kB/s)    
Selecting previously unselected package aom-tools.
(Reading database ... 280262 files and directories currently installed.)
Preparing to unpack .../aom-tools_1.0.0.errata1-3build1_amd64.deb ...
Unpacking aom-tools (1.0.0.errata1-3build1) ...
Selecting previously unselected package vpx-tools.
Preparing to unpack .../vpx-tools_1.8.2-1build1_amd64.deb ...
Unpacking vpx-tools (1.8.2-1build1) ...
Setting up aom-tools (1.0.0.errata1-3build1) ...
Setting up vpx-tools (1.8.2-1build1) ...
Processing triggers for man-db (2.9.3-2) ...

sid@shiney:~$ sudo pip3 install qencoder
Collecting qencoder
  Downloading qencoder-1.5.6-py3-none-any.whl (48 kB)
     |████████████████████████████████| 48 kB 884 kB/s 
Collecting scipy
  Downloading scipy-1.5.4-cp38-cp38-manylinux1_x86_64.whl (25.8 MB)
     |████████████████████████████████| 25.8 MB 815 kB/s 
Collecting scenedetect[opencv,progress_bar]
  Downloading scenedetect-0.5.4.1-py2.py3-none-any.whl (106 kB)
     |████████████████████████████████| 106 kB 125 kB/s 
  WARNING: scenedetect 0.5.4.1 does not provide the extra 'progress_bar'
Requirement already satisfied: PyQt5 in /usr/lib/python3/dist-packages (from qencoder) (5.15.0)
Collecting opencv-python
  Downloading opencv_python-4.4.0.46-cp38-cp38-manylinux2014_x86_64.whl (49.5 MB)
     |████████████████████████████████| 49.5 MB 128 kB/s 
Requirement already satisfied: psutil in /usr/lib/python3/dist-packages (from qencoder) (5.7.2)
Collecting numpy
  Downloading numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
     |████████████████████████████████| 14.5 MB 719 kB/s 
Requirement already satisfied: Click in /usr/lib/python3/dist-packages (from scenedetect[opencv,progress_bar]->qencoder) (7.1.2)
Collecting tqdm
  Downloading tqdm-4.54.1-py2.py3-none-any.whl (69 kB)
     |████████████████████████████████| 69 kB 848 kB/s 
Installing collected packages: numpy, scipy, tqdm, opencv-python, scenedetect, qencoder
Successfully installed numpy-1.19.4 opencv-python-4.4.0.46 qencoder-1.5.6 scenedetect-0.5.4.1 scipy-1.5.4 tqdm-4.54.1
sid@shiney:~$ qencoder 
Loading program... please wait!
GLib-GIO-Message: 01:00:43.070: Adding GResources overlay '/org/gnome/nautilus/icons/filmholes.png=/usr/share/icons/filmholes.png'
Unable to load existing preset at: /home/sid/.config/qencoder.qec.
Possibly the first time you have run this, corrupted, or an older version
Do not report this
Writing current settings to config
Running in non-queued mode with a single video
Running
{'video_params': '--threads=4 --tile-columns=1 --tile-rows=0 --cpu-used=8 --rt --end-usage=q --cq-level=28 --bit-depth=8  --i420', 'input_file': PosixPath('/var/www/html/VLC-iOS-Media/MOVIE/z_Clips/Trip Clips/2018-Sept-18-Mountains And Rivers and Bears Oh My-x264.mkv'), 'encoder': 'aom', 'workers': 0, 'audio_params': '-c:a copy', 'threshold': 30, 'logging': None, 'passes': 1, 'output_file': PosixPath('/var/www/html/VLC-iOS-Media/MOVIE/z_Clips/Trip Clips/2018-Sept-18-Mountains And Rivers and Bears Oh My-av1.webm'), 'scenes': None, 'resume': False, 'keep': False, 'min_splits': False, 'pix_format': ' -strict -1 -pix_fmt yuv420p', 'ffmpeg_cmd': '', 'min_split_dist': 0, 'use_vmaf': False, 'threads': 4, 'better_split': True, 'cpuused': 8, 'unsafe_split': True, 'rtenc': True, 'temp': PosixPath('/var/www/html/VLC-iOS-Media/MOVIE/z_Clips/Trip Clips/temp_2018-Sept-18-Mountains And Rivers and Bears Oh My-av1.webm'), 'vmaf_steps': 6, 'min_cq': 25, 'max_cq': 50, 'vmaf_target': 95.0, 'vmaf_path': '', 'boost': False, 'br': 0, 'bl': 0, 'ffmpeg_pipe': '  -strict -1 -pix_fmt yuv420p  -f yuv4mpegpipe - |'}
Error in PySceneDetect: unpack requires a buffer of 208 bytes

Not able to split video. Possibly corrupted.
Traceback (most recent call last):
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/pav1n.py", line 194, in scene_detect
    scene_list = qencoder.aomkf.aom_keyframes(self.d['input_file'], stat_file, self.d['min_split_dist'], self.d['ffmpeg_pipe'], self.d['encoder'], self.d['threads'] * self.d['workers'], self.d['video_params'], self.d['rtenc'], qinterface)
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/aomkf.py", line 220, in aom_keyframes
    keyframes = find_aom_keyframes(stat_file, min_scene_len)
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/aomkf.py", line 122, in find_aom_keyframes
    stats = struct.unpack('d' * 26, frame_buf)
struct.error: unpack requires a buffer of 208 bytes

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/pav1n.py", line 606, in main_thread
    self.video_encoding(qinterface)
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/pav1n.py", line 584, in video_encoding
    code = self.setup_routine(qinterface)
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/pav1n.py", line 571, in setup_routine
    framenums = self.scene_detect(self.d.get('input_file'), qinterface)
  File "/home/sid/.local/lib/python3.8/site-packages/qencoder/pav1n.py", line 270, in scene_detect
    raise Exception
Exception

Audio not getting passed through/transcoded on qencoder 1.3 (Windows build)

I tried converting a 1.2GB video (parameters in detail below) to AV1, only to find that the encoded file (12MB in size) does not have any audio stream. I tried with both audio pass-through and conversion to Opus as well.

version: qencoder 1.3
Source video parameters:

Video: MPEG4 1920x1080 30.001fps [V: h264 L4.1, yuv420p]
Audio: AAC [A: aac lc, 48000 Hz, stereo]

Encoded video parameters:
Video: AV01 1920x1080 30.001fps [V: av1, yuv420p10le]

Encoding settings used from the qencoder GUI:

  • Two-pass
  • Reencode audio (tried with and without being enabled)
  • Quality preset: Amazing (crf20)
  • Speed preset: Medium
  • 10-bit output enabled

All other qencoder parameters are defaults.

Hope I'm not doing anything wrong. Would be great if you can test the build and confirm.

Let me know how I can help in resolving the issue.

Please add ability to specify maximum segment length when using scene detection

I am compressing some rather unusual videos that are essentially video conferencing and are all extremely long while having basically no scene breaks except for when I briefly tab out. When trying to compress these using scene detection option the program only ends up making about 5 chunks, 4 of which may be 5-15 minutes long, and then the last one is like an hour or two in length. Needless to say this doesn't result in optimal compression performance since the small chunks are finished very quickly and the remaining chunk only has one worker on it.

It would be really helpful if you could add the option to specify the maximum length for a segment, even when using scene detection. If nothing is detected it would break it after X number of frames, similar to how it works with time based splitting.

Also if I could make another suggestion, I would split the keyframe interval and maximum segment length into two different options. The keyframe interval could be used to simply set the encoder keyframe interval, while the segment length would be what is used for time based splitting, as well as serving as backup for videos that scene detection doesn't find anything on.

Wrong audio bit-rate being set

The wrong audio bit-rate is set when re-encoding audio. e.g. Instead of 64 kbps I get 64 bps. It's the same for all the bit-rate settings. Custom does not override either.

qencoder hangs upon launch

Windows 10
Intel i9-9900K

I downloaded the Windows binary 7z file from the release tag, extracted the contents, and double-clicked qencoder.exe to run it. It simply launches a command prompt and hangs:
image

I also tried to run the python script directly using the Linux instructions, but that early-returns immediately. Is there any debugging steps I can try?

white space are not accounted for

I got this C:\Users\<myUserName>\Desktop\New: Invalid argument
in which the client was on C:\Users\<myUserName>\Desktop\New Folder\

Problem with "split threshold"

I got a problem with "split threshold!". Because if this don´t work you have to do the whole action again. I lost many time to find out the right settings for "split threshold" based on the video I used. I often got the message "Error: No files found in .temp/split, probably splitting not working"

Perhaps you can create something this doesn´t appear or the GUI can find himself the max number of splittings. I think the more splits there are, the faster the encoding is.

failed to run on Debian 11

Hello. I'm using Debian and I haven't been able to get it working. I've tried installing and reinstalling the dependencies.

tyler@desktop:~/src/qencoder$ sudo apt install vpx-tools aom-tools ffmpeg
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
aom-tools is already the newest version (1.0.0.errata1-3).
ffmpeg is already the newest version (7:4.3.3-0+deb11u1).
vpx-tools is already the newest version (1.9.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
tyler@desktop:~/src/qencoder$ pip install -r requirements.txt 
.....
Successfully installed Av1an-minimal-5.5.4 PyQt5-5.15.6 psutil-5.7.3 scenedetect-0.5.4.1 setuptools-51.0.0

Here is the error I'm getting.

tyler@desktop:~/src/qencoder$ ./qenc.py 
Error loading lsmash. Either vapoursynth is missing or lsmash is not installed.
Loading program... please wait!
QObject::moveToThread: Current thread (0xd00540) is not the object's thread (0x18ac8c0).
Cannot move to target thread (0xd00540)

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/tyler/.local/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl.

Aborted

Last working version of the qencoder

Not sure if this is the place to ask.

I do know that this project is kinda dead.

Does anyone have a working version before the switch to Rust?

Like the most recent version of the Av1an before the switch to Rust and the compatible version of the qencoder?

Would like to try using it.

Thanks in advance.

Bulk file selection

The queue feature would be much quicker to use if it was possible to select an entire folder as the input and a folder for the output and the output filename is just the original filename with the correct extension.

Output fails on windows

Using the latest version (1.5) output will fail if there are spaces in the path or filename.
So, if the path is C:\Some Folder, or filename is Video File.mp4, qencoder will fail to output anything. It will still encode the file, and it is possible to manually join the encoded parts, but it will not concat the resulting files. If there are no spaces in path or filename, it will encode fine.
This issue was not present in the previous version (1.3) which did not have problems with spaces in path or filename.

how to disable crf?? (Windows)

so I just updated to the newest version and am currently trying to figure out how to disable the crf I was hoping to try out the target vmaf but I haven't figured out how to disable the crf yet is it simple or am I missing something?? sorry for the back to back post btw im new to this type of thing lol

Some improvements

Sorry if I am spaming with so many issues, I am not experienced in Github but I have readed that one has to open one individual issue for every bug report, commentary, etc. If you prefer all the commentaries in one unique issue, please, just tell me and I shall do it.

Well, here I wanted to suggest a few improvements for the interface:

  • Use the native KDE (or whatever desktop is using each user) file picker instead of that tedios and spartan one that Qencoder uses now.

  • Modify the descriptions for the encoding of audio. 96 Kbps "very high" is a joke. May be adecuate for pop music, and not the most subtle in regards to sound texture... I don't encode my CDs at 96 kbps not even for listening on my mobile nor I think that any audiophile woulds consider anything below 160 kps Opus or 192 OGG to be "high quality". Try to listen orchestal music, especially brass pasagges in high frecuencies compresed to 96 kbps in a, lets say, 5.000 € sound system in some audiophile shop, and then repeat the listening with the same track compresed to 256 kbps or FLAC. You shall notice the difference, and probably hear artifacts in the low bit rate compression. May be that for conversations in films, explosions, sound efects and background music 96 kbps is ok, but sincerely, not if you are riping an opera, a symphonic concert or simply a film wich gives importance to the soundtrack, like the ones of Paolo Sorrentino, Terence Malick, etc.

  • Add an interface for the CRF mode, Handbrake (https://github.com/HandBrake/) has a nice one, may be you can do something similar? I am no expert but I have always readed that CRF mode is the recommended for the best overal quality.

I hope you think these sugestons are enough interesting.
Regads.

Path mistake in qencoder.py

Hallo again.
This a very little mistake that I have found, but I think it should be taken in acount.
In qencoder.py, the first line says «#!/bin/python3». It should be «#!/usr/bin/python3» or the program shall not find the interpreter of Python and Qencoder shall not start. Changing that line, the program starts perfectly.

Core dumped after initial scene splitting

Using the latest version available from pip (qencoder 1.0 iirc) on fedora 32 whenever the first loading bar finishes the program will crash with this output

Queue: 1 Workers: 1 Passes: 2
Params: --threads=4 --tile-columns=2 --tile-rows=1 --cpu-used=3 --good --end-usage=q --cq-level=24 --bit-depth=8  --i420
Error in encoding loop invalid literal for int() with base 10: 'oska,webm @ 0x5601ffc0fc40] Duplicate element\n[matroska,webm @ 0x5601ffc0fc40] 0x00 at pos 178 (0xb2) invalid as first byte of an EBML number\n[matroska,webm @ 0x5601ffc0fc40] Duplicate element\n[ma
At line 451
Concatenation failed, FFmpeg error
Segmentation fault (core dumped)

I have noticed this only happens with a few videos which are mpeg-4 in an AVI container. On mp4 files it seems to work fine. A different but still fatal error was logged with the AVI videos on Av1an as well.

Option to specify ffmpeg and aomenc path

It would be nice to use our own custom builds for both ffmpeg and aomenc so we can use the latest version of them instead of using the ones installed by our package managers.

Failed to Install on CentOS 7

$ pip install -r requirements.txt
Collecting psutil~=5.7.3 (from -r requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/33/e0/82d459af36bda999f82c7ea86c67610591cf5556168f48fd6509e5fa154d/psutil-5.7.3.tar.gz
Collecting PyQt5~=5.15.2 (from -r requirements.txt (line 2))
  Using cached https://files.pythonhosted.org/packages/6e/86/d715e71771cece0e060f2ebab20f3ded067b08a0927dfb3143530cae8098/PyQt5-5.15.3.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    IOError: [Errno 2] No such file or directory: '/tmp/pip-build-bdNUmX/PyQt5/setup.py'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-bdNUmX/PyQt5/
You are using pip version 19.3.1, however version 21.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Qencoder finds not aomenc

First, excuse if what I say is too elemental, I am only an user witouth knowleges of programming. I have opened this account only to report this bug. Sorry for my inexperience and for my bad english.

I have instaled Qencoder and is Cool. I'm so tired of GTK apps... I like that the graphic interface follows the KDE lema "simple by default, powerful when needed", altought I would add preview and time selection, like Boram (https://github.com/Kagami/boram).
The problem is that it seems like Qencoder can not find Aomenc but I have it, libaom-1.0.0_p20200507, to be precise; but neverless, once I clic «Encode» and the first part of the proces (when the program splits the file original) endes, I get this error:

Error in encoding loop invalid literal for int() with base 10: '/media/ramdisk/qencoder/temp/encode/0010.ivf: No such file or directory'
At line 415
Encoding error: unsupported operand type(s) for +=: 'int' and 'NoneType'
At line 503

I have looked the file log.log and there are a lot of messages like:

ffmpeg -y -hide_banner [...] --fpf=/media/ramdisk/qencoder/temp/split/0004.log -o /dev/null - /bin/sh: aomenc: orden no encontrada
/bin/sh: aomenc: orden no encontrada
av_interleaved_write_frame(): Broken pipe
Error writing trailer of pipe:: Broken pipe

«Orden no encontrada» means «Command not found», but as I said before, aomenc is present in my PC, in fact, I can encode to AV1 using pure FFMPEG (obviously at an unsuportable speed, but it works perfectly). So, I think that for some reason Qencode can not find aomenc.
I have the latest version of Qencoder cloned from this repository.

Error in PySceneDetect

First of all, great program, thanks a lot for it!

I did try to convert some .flv (H264) files and as soon as I start the encode, it stops and the log file only has one entry:

Error in PySceneDetect: OpenCV VideoCapture object failed to return True when calling isOpened().

What can be done about this?

The Program close itself after scene detection

Since the newest build 0.5.19 the program doesn´t split the video and close itself. I get the log:

21:38:32 Starting scene detection Threshold: 60
21:53:03 Found scenes: 226
21:53:03 Splitting video
Output file #0 does not contain any stream
21:53:04 Audio processing
Params: -c:a ac3 -b:a 256k -af aformat=channel_layouts="7.1|5.1|stereo"
[NULL @ 0000018b950eb740] Unable to find a suitable output format for 'C:\qencoder\temp_01'
C:\qencoder\temp_01: Invalid argument

Have you any idea what can I do?

Button to stop encode in progress

It would be useful to be able to stop an encode without having to close the program. Would make testing the speed of different settings a lot easier.

VMAF experimental not up to the mark?

Used Batman 2022 trailer 5 for encoding using qencoder with target vmaf settings enabled:

min crf 15, max crf 60, test-steps 5, target 97.00 & model vmaf_float_v0.6.1.pkl

Other settings:
--threads=2 --kf-max-dist=240 --tile-columns=1 --tile-rows=0 --cpu-used=3 --good --end-usage=q --cq-level=23 --bit-depth=10 --i420
Split-mode= pyscenedetect.

After the encoding used ffmpeg with libvmaf: ffmpeg -i output.mkv -i ready.mkv -filter_complex "[0:v]scale=3840:1608:flags=bicubic[main];[main][1:v]libvmaf=F\\:/Audio Video/ffmpeg-all/Models/vmaf_float_v0.6.1.json:log_path=VMAF_out.json:log_fmt=json" -f null - to calculate vmaf scores mean vmaf score was 90.00??

Please note used bicubic to scale the encoded video for vmaf calculations as recommended by netflix.

  1. Why am I getting mean vmaf 90 and very fluctuating graph:
    plot

Failed To Split Video on (Windows 10)

log.log
so I don't know this has been brought up but I just started using this program a few days ago and it worked great the first video I encoded so I went and loaded up another video and it gave me this (Ive Attached the log it gave)

Audio desync for VFR input.

Every VFR input I've fed qencoder produces output with audio out of sync

I remember similar issues with Xvid, x264 in the early days when those were being used by front-ends that encoded the video separately and then remuxed them when the job was done. Wild guess that the yuv420 stream being piped to aomenc lacks the frame timestamps, or that aomenc drops them, and/or qencoder makes no attempt to restore the lost timestamps during muxing.

I'm sure I can work around this by adding custom ffmpeg flags to convert VFR to CFR by inserting duplicated frames. In my experience that can introduce judder. Adding extra frames for aomenc to digest also seems like something to avoid, lol.

So, anyone have some pointers to achieve this fix by other means? Maybe there's a commandline tool to extract the timestamp data from the original file and apply it to the output?

Request Add SVT-VP9 Encoder

Compared With Google libvpx Encoder The SVT-VP9 Encoder Scalable Video Technology is Intel optimized for CPU Processors, Which Get Greatly Improve Encoder Speed Software Encoding.

Google libvpx Encoder Very Dam Slow Encoding VP9

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.