I noticed the audio streaming client butt also offers libfdk-aac-2.dll for its users, it's 1.3 MB and supports VBR, HE-AACv1 (AAC+) and HE-AACv2 (eAAC+) with Fraunhofer's qualitative tuning, VBR & CBR and LC-AAC.
Beiträge von chrisw
-
-
I've also had a thought - as I understand it from my own limited use of x265 in Voukoder, the encoder will attempt to render at the most widely-compatible settings possible. For example, if you enable High profile, it will still use Main unless it cannot encode your combination of settings. If you don't enable High, it will not encode if it cannot do so using Main tier.
Perhaps you are using Main tier and specifying a bit rate above 25 Mbit/sec or 4K at higher than 30 fps? That would force Main tier, Level 5.1. See https://en.wikipedia.org/wiki/High_Effi…iers_and_levels
-
I think Vouk will suggest you set Voukoder to debug log, then post a logfile onto this thread so he can take a look...
-
This issue is getting reported again and again, but I was never able to reproduce it myself. Thanks for providing the neccessary steps so i was finally able to reproduce this behaviour on my dev machine. So, yes I can confirm it and looking into it right now.
This issue is fixed in the next release.
?? nice one, cheers!
-
Workflow:
- open Premiere CC 2019, import media to new project, produce final edit. Working resolution 1920x1080 throughout.
- Export Media, choose Format: Voukoder. Preset: Custom previous settings are remembered and recalled by Premiere.
- Go through Voukoder tabs, first changing audio codec and bit rate, then changing video format to x265.
- Check video codec options and amend (Preset, Tuning, Enable High-Tier, Strategy and CRF).
- Check Filters tab - two properties still present including one to scale output to 960x540; use Remove button to delete them.
- Save Adobe encoder export preset
- Encode the three minute video, which takes almost an hour
- Play back rendered video - it has been cropped to the top-left 960x540 pixels.
Log:
Code
Alles anzeigen[11:08:29] ============================================= [11:08:29] Voukoder 7.2 (7.2.121) [11:08:29] by Daniel Stankewitz [11:08:29] --------------------------------------------- [11:08:29] Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz [11:08:29] 16 logical cores [11:08:29] 32688 MB system memory [11:08:29] Display #0 on: NVIDIA GeForce GTX 1070 [11:08:29] Display #1 on: NVIDIA GeForce GTX 1070 [11:08:29] --------------------------------------------- [11:08:29] --------------------------------------------- [11:08:29] Export started [11:08:29] --------------------------------------------- [11:08:29] Filename: F:\output.mkv [11:08:29] Application: Voukoder (Adobe Premiere) [11:08:29] - Video ------------------------------------- [11:08:29] Frame size: 960x540 [11:08:29] Pixel aspect: 1:1 [11:08:29] Timebase: 1/25 (25.00 fps) [11:08:29] Interlaced: No [11:08:29] Encoder: libx265 [11:08:29] Options: _pixelFormat=yuv420p _strategy=crf crf=10.000 preset=slower tune=grain x265-params=high-tier=1 [11:08:29] Side data: <none> [11:08:29] Filters: <none> [11:08:29] Passes: 1 [11:08:29] Color range: unknown [11:08:29] Color space: unknown [11:08:29] Color primaries: unknown [11:08:29] Color transfer: unknown [11:08:29] - Audio ------------------------------------- [11:08:29] Timebase: 1/44100 [11:08:29] Channels: 2 [11:08:29] Encoder: libvorbis [11:08:29] Options: _sampleFormat=fltp _strategy=abr b=320000 [11:08:29] Side data: <none> [11:08:29] Filters: <none> [11:08:29] --------------------------------------------- [11:08:29] Opening codec: libx265 with options: crf=10.000|preset=slower|tune=grain|x265-params=high-tier=1 [11:08:29] Opening codec: libvorbis with options: b=320000 [11:08:29] FFmpeg: Setting default whitelist 'file,crypto,data' [11:08:29] FFmpeg: Output #0, matroska, to 'F:\output.mkv': [11:08:29] FFmpeg: Metadata: [11:08:29] FFmpeg: encoding_tool : [11:08:29] FFmpeg: Voukoder (Adobe Premiere) [11:08:29] FFmpeg: [11:08:29] FFmpeg: Stream #0:0 [11:08:29] FFmpeg: , 0, 1/25 [11:08:29] FFmpeg: : Video: hevc (libx265), 1 reference frame, yuv420p(progressive), 960x540 (0x0) [SAR 1:1 DAR 16:9], 0/1, q=-1--1 [11:08:29] FFmpeg: , [11:08:29] FFmpeg: 25 fps, [11:08:29] FFmpeg: 25 tbn [11:08:29] FFmpeg: [11:08:29] FFmpeg: Stream #0:1 [11:08:29] FFmpeg: , 0, 1/44100 [11:08:29] FFmpeg: : Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 320 kb/s [11:08:29] FFmpeg: [11:08:29] FFmpeg: get_metadata_duration returned: 0 [11:08:29] FFmpeg: configurationVersion: 1 [11:08:29] FFmpeg: general_profile_space: 0 [11:08:29] FFmpeg: general_tier_flag: 0 [11:08:29] FFmpeg: general_profile_idc: 1 [11:08:29] FFmpeg: general_profile_compatibility_flags: 0x60000000 [11:08:29] FFmpeg: general_constraint_indicator_flags: 0x900000000000 [11:08:29] FFmpeg: general_level_idc: 90 [11:08:29] FFmpeg: min_spatial_segmentation_idc: 0 [11:08:29] FFmpeg: parallelismType: 0 [11:08:29] FFmpeg: chromaFormat: 1 [11:08:29] FFmpeg: bitDepthLumaMinus8: 0 [11:08:29] FFmpeg: bitDepthChromaMinus8: 0 [11:08:29] FFmpeg: avgFrameRate: 0 [11:08:29] FFmpeg: constantFrameRate: 0 [11:08:29] FFmpeg: numTemporalLayers: 1 [11:08:29] FFmpeg: temporalIdNested: 1 [11:08:29] FFmpeg: lengthSizeMinusOne: 3 [11:08:29] FFmpeg: numOfArrays: 4 [11:08:29] FFmpeg: array_completeness[0]: 0 [11:08:29] FFmpeg: NAL_unit_type[0]: 32 [11:08:29] FFmpeg: numNalus[0]: 1 [11:08:29] FFmpeg: nalUnitLength[0][0]: 25 [11:08:29] FFmpeg: array_completeness[1]: 0 [11:08:29] FFmpeg: NAL_unit_type[1]: 33 [11:08:29] FFmpeg: numNalus[1]: 1 [11:08:29] FFmpeg: nalUnitLength[1][0]: 43 [11:08:29] FFmpeg: array_completeness[2]: 0 [11:08:29] FFmpeg: NAL_unit_type[2]: 34 [11:08:29] FFmpeg: numNalus[2]: 1 [11:08:29] FFmpeg: nalUnitLength[2][0]: 6 [11:08:29] FFmpeg: array_completeness[3]: 0 [11:08:29] FFmpeg: NAL_unit_type[3]: 39 [11:08:29] FFmpeg: numNalus[3]: 1 [11:08:29] FFmpeg: nalUnitLength[3][0]: 2305 [11:08:29] Requesting pixel format: yuv420p [11:08:30] FFmpeg: detected 16 logical cores [11:08:30] FFmpeg: tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:stereo [11:08:30] FFmpeg: Setting 'n' to value '64' [11:08:30] FFmpeg: Setting 'p' to value '0' [11:08:30] FFmpeg: query_formats: 3 queried, 6 merged, 0 already done, 0 delayed [11:08:30] Applying audio filters: setnsamples=n=64:p=0 [11:08:30] Frame #0: vRender: 120688 us, vProcess: 7 us, vEncoding: 3054 us, aRender: 17766 us, aEncoding: 11350 us, Latency: 154671 us [11:08:30] Frame #1: vRender: 8309 us, vProcess: 5 us, vEncoding: 3921 us, aRender: 92 us, aEncoding: 2040 us, Latency: 14398 us ...snip... [11:41:20] FFmpeg: Writing block of size 1 with pts 179988, dts 179988, duration 15 at relative offset 3675830 in cluster at offset 274663210. TrackNumber 2, keyframe 1 [11:41:20] FFmpeg: end duration = 180003 [11:41:20] FFmpeg: stream 0 end duration = 180003 [11:41:20] FFmpeg: stream 1 end duration = 180003 [11:41:20] Trailer has been written. [11:41:20] Closing encoders ... [11:41:20] FFmpeg: Statistics: 2 seeks, 1063 writeouts [11:41:20] --------------------------------------------- [11:41:20] Export finished [11:41:20] ---------------------------------------------
-
Amazing, bravo... I wish I was as efficient... (took me several hours to get out of bed today)
I'll give it a try as soon as the next release is out. I'm very interested to know how you solved it!
-
Hi Vouk, sorry I didn't reply sooner -- my computer mainboard managed to completely fry my CPU, and I've only just managed to fit a new mainboard and CPU. (An expensive job...)
I'll PM you a link to a shared folder with some clips in - two ProRes files clipped from the source files (no reencoding), and a sample file showing a successful bwdif deinterlace of another clip using ffmpeg on the commandline.
-
Deinterlacing
You have to set premiere to export interlaced material (and the correct field order) so Voukoder knows it gets interlaced fields from premiere and can convert them to progressive frames. If you set it to "progressive" Voukoder already gets progressive frames.
Framerate
I am not exactly sure about the 25i to 50p conversion. But the more I think about this, the more I get the impression this is not about a single filter (bwdif) but more about a whole filter chain. Do you know with what FFmpeg command line you'd get the expected result?
BWDIF
Fixed that. Thanks for pointing it out. Will be available in the next release.
LOG
This is fixed already and will be available in the next version
Hi Vouk
Indeed. When I've been frameserving, Debugmode Frameserver provides no output video option, so you export a 1080i25 proxy and process with ffmpeg. (Confirmed with MediaInfo.)
That proxy .avi is referenced with an incredibly simple .avs to work around an ffmpeg issue
frameserver.avs:
Then ffmpeg produces the 50p output with bwdif deinterlacing:
Codeffmpeg.exe -i "F:\project\frameserver.avs" -vf "bwdif" -c:v libx264 -preset slow -crf 18 -pix_fmt yuv420p -c:a aac -b:a 320k "F:\project\output\output-1080p50.mp4"
Which works as expected.
Incidentally, I was also doing some more complex processing to produce lower resolution preview clips which also worked fine, e.g.
Codeffmpeg -i "F:\project\frameserver.avs" -vf "bwdif,scale=960:-1:flags=spline,unsharp=3:3:0.5:3:3:0.0" -c:v libx264 -tune film -crf 18 -preset slow -maxrate 3M -bufsize 1.5M -profile:v high -pix_fmt yuv420p -c:a aac -b:a 320k "F:\project\output\clip-960x540p50-crf18-3mbit.mp4"
However the HQ clips I was simply trying to encode to MP @L4.2 or L5.0, CRF 18, with bwdif doing the 50p output. Is this a possible filter issue...?
Or is this not even possible exporting directly from Premiere?
If Premiere is expecting to directly render a 25i file, while Voukoder is attempting to generate a 1080p50 file (due to Yadif or bwdif filter rendering a frame for every input field), I can foresee a potential conflict. Likewise, if Premiere thinks it should be directly exporting a 1080p50 file, I wonder if it's going to improperly serve video frames to Voukoder and attempt to create the file incorrectly...
I defer to your knowledge though, I've never written a plugin for Premiere
This is a really useful feature for me so I'm happy to help however I can.
I can send examples of the same content exported debugmode+ffmpeg 1080i25 to bwdif 1080p50, and Voukoder 1080i25 to bwdif 1080p50, if it would be useful / if you're interested.
-
I have a project which is 25i in Premiere CC2019 which I want to render out as 50 fps bwdif deinterlaced (for better temporal quality). I am NOT interpreting my footage in Premiere, everything is interlaced on the timeline.
At export, I set my Export settings to 50p, and using Voukoder 4.1 I want to encode as deinterlaced 50p using the bwdif filter.
I expected the process to be:
- set the Premiere Export video settings as 50p progressive
- in Voukoder -> Video -> Filters, choose bwdif, set the parameters deint=all, mode=send_field,parity=auto (the source footage is TFF).
- Encode a 50 fps file.
However, doing this, I get a file which is encoded as 50p, but each video frame is doubled (like a PsF file), so it's double the duration of the audio. There is also 'flutter' at the top of the screen, an indication the deinterlacing is not being done correctly.
Unsurpsigingly, a 2x playback rate shows the video at correct speed, albeit with frame flutter at the top of the image. I can see the field jumps from bad interpolation if I step through frame by frame. The same happens if I enable the Yadif filter. It does not happen if I use ffmpeg to bwdif deinterlace to 50p using frameserving.
If I change my Export settings to 25 fps TFF in Premiere, using the same deinterlacing settings in Voukoder, the output file is 25 fps and flagged as interlaced, however the actual video stream is progressive.
Log excerpt from exporting 50 fps progressive and bwdif deinterlacing:
Spoiler anzeigen
Code
Alles anzeigen[19:33:54] ============================================= [19:33:54] Voukoder 4.1 (4.1.68) [19:33:54] by Daniel Stankewitz [19:33:54] --------------------------------------------- [19:33:54] Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz [19:33:54] 12 logical cores [19:33:54] 32678 MB system memory [19:33:54] Display #0 on: NVIDIA GeForce GTX 1070 [19:33:54] Display #1 on: NVIDIA GeForce GTX 1070 [19:33:54] --------------------------------------------- [19:33:54] --------------------------------------------- [19:33:54] Export started [19:33:54] --------------------------------------------- [19:33:54] Filename: H:\Develop 2019\Salford\dev19 salford 01 steveworswick mitsuku_7.mp4 [19:33:54] Application: Voukoder (Adobe Premiere) [19:33:54] Passes: 1 [19:33:54] - Video ------------------------------------- [19:33:54] Frame size: 1920x1080 [19:33:54] Pixel aspect: 1:1 [19:33:54] Timebase: 1/50 (50.00 fps) [19:33:54] Interlaced: No [19:33:54] Encoder: libx264 [19:33:54] Options: _pixelFormat=yuv420p crf=24.000 level=41 preset=medium profile=high rc=crf tune=film [19:33:54] Side data: <none> [19:33:54] Filters: filter.bwdif# [19:33:54] Color range: unknown [19:33:54] Color space: unknown [19:33:54] Color primaries: unknown [19:33:54] Color transfer: unknown [19:33:54] - Audio ------------------------------------- [19:33:54] Timebase: 1/48000 [19:33:54] Channels: 2 [19:33:54] Encoder: aac [19:33:54] Options: _sampleFormat=fltp b=320000 profile=aac_low [19:33:54] Side data: <none> [19:33:54] Filters: <none> [19:33:54] --------------------------------------------- [19:33:54] Opening codec: libx264 with options: crf=24.000|level=41|preset=medium|profile=high|rc=crf|tune=film [19:33:54] Opening codec: aac with options: b=320000|profile=aac_low [19:33:54] Requesting pixel format: yuv420p [19:33:54] Applying video filters: bwdif [19:33:55] Applying audio filters: setnsamples=n=1024:p=0 [19:33:55] Frame #0: vRender: 98122 us, vProcess: 15 us, vEncoding: 25629 us, aRender: 318 us, aEncoding: 7465 us, Latency: 847796 us [19:33:55] Frame #1: vRender: 609 us, vProcess: 4 us, vEncoding: 8558 us, aRender: 638 us, aEncoding: 35 us, Latency: 9858 us [19:33:55] Frame #2: vRender: 14 us, vProcess: 6 us, vEncoding: 16839 us, aRender: 642 us, aEncoding: 902 us, Latency: 18427 us [19:33:55] Frame #3: vRender: 24 us, vProcess: 12 us, vEncoding: 17321 us, aRender: 553 us, aEncoding: 522 us, Latency: 18455 us [19:33:55] Frame #4: vRender: 10 us, vProcess: 5 us, vEncoding: 12870 us, aRender: 1239 us, aEncoding: 634 us, Latency: 14797 us [19:33:55] Frame #5: vRender: 54 us, vProcess: 16 us, vEncoding: 13820 us, aRender: 576 us, aEncoding: 431 us, Latency: 14924 us [19:33:55] Frame #6: vRender: 22 us, vProcess: 7 us, vEncoding: 9028 us, aRender: 475 us, aEncoding: 498 us, Latency: 10047 us
And exporting 25 TFF deinterlacing in Voukoder:
Spoiler anzeigen
Code
Alles anzeigen[19:40:35] ============================================= [19:40:35] Voukoder 4.1 (4.1.68) [19:40:35] by Daniel Stankewitz [19:40:35] --------------------------------------------- [19:40:35] Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz [19:40:35] 12 logical cores [19:40:35] 32678 MB system memory [19:40:35] Display #0 on: NVIDIA GeForce GTX 1070 [19:40:35] Display #1 on: NVIDIA GeForce GTX 1070 [19:40:35] --------------------------------------------- [19:40:35] --------------------------------------------- [19:40:35] Export started [19:40:35] --------------------------------------------- [19:40:35] Filename: H:\Develop 2019\Salford\dev19 salford 01 steveworswick mitsuku.mp4 [19:40:35] Application: Voukoder (Adobe Premiere) [19:40:35] Passes: 1 [19:40:35] - Video ------------------------------------- [19:40:35] Frame size: 1920x1080 [19:40:35] Pixel aspect: 1:1 [19:40:35] Timebase: 1/25 (25.00 fps) [19:40:35] Interlaced: Top first [19:40:35] Encoder: libx264 [19:40:35] Options: _pixelFormat=yuv420p crf=24.000 level=41 preset=medium profile=high rc=crf tune=film [19:40:35] Side data: <none> [19:40:35] Filters: filter.bwdif# [19:40:35] Color range: unknown [19:40:35] Color space: unknown [19:40:35] Color primaries: unknown [19:40:35] Color transfer: unknown [19:40:35] - Audio ------------------------------------- [19:40:35] Timebase: 1/48000 [19:40:35] Channels: 2 [19:40:35] Encoder: aac [19:40:35] Options: _sampleFormat=fltp b=320000 profile=aac_low [19:40:35] Side data: <none> [19:40:35] Filters: <none> [19:40:35] --------------------------------------------- [19:40:35] Opening codec: libx264 with options: crf=24.000|level=41|preset=medium|profile=high|rc=crf|tune=film [19:40:35] Opening codec: aac with options: b=320000|profile=aac_low [19:40:35] Requesting pixel format: yuv420p [19:40:35] Applying video filters: bwdif [19:40:36] Applying audio filters: setnsamples=n=1024:p=0 [19:40:36] Frame #0: vRender: 152634 us, vProcess: 9 us, vEncoding: 16413 us, aRender: 610 us, aEncoding: 7205 us, Latency: 818417 us [19:40:36] Frame #1: vRender: 293 us, vProcess: 4 us, vEncoding: 18580 us, aRender: 813 us, aEncoding: 1006 us, Latency: 20708 us [19:40:36] Frame #2: vRender: 14 us, vProcess: 5 us, vEncoding: 11078 us, aRender: 998 us, aEncoding: 747 us, Latency: 12859 us [19:40:36] Frame #3: vRender: 14 us, vProcess: 5 us, vEncoding: 9495 us, aRender: 746 us, aEncoding: 728 us, Latency: 11004 us [19:40:36] Frame #4: vRender: 20 us, vProcess: 5 us, vEncoding: 8936 us, aRender: 838 us, aEncoding: 679 us, Latency: 10490 us [19:40:36] Frame #5: vRender: 20 us, vProcess: 6 us, vEncoding: 9101 us, aRender: 755 us, aEncoding: 595 us, Latency: 10489 us [19:40:36] Frame #6: vRender: 19 us, vProcess: 5 us, vEncoding: 8898 us, aRender: 789 us, aEncoding: 628 us, Latency: 10353 us
I'm pretty sure I'm not doing anything wrong, is this a bug in deinterlacing? Or do I need to set up Voukoder in a very specific way to output 50p deinterlaced from 25i timeline?
Also, some possible menu option order bugs in the Voukoder GUI:
With bwdif, the field dropdowns do not match the values shown in parameters. "Send Frame" shows "send_field" and Send Field shows "send_frame". For deinterlacing options, Auto shows "tff", Top field first shows "bff" and "Bottom field first shows "auto". Yadif appears to be correct.
Encode log files appear to be held open by Voukoder even after the encode is finished. I could not delete log files from Explorer after encodes had finished until Premiere was closed.
-
It's already in the sources, but everything needs to be tested. It will take some time for 178 filters.
true, I'm happy to help however I can with some end-user testing.
-
Sorry for the bump. Curious whether these additions will be in a version coming soon, or will it be later this year?
-
Thanks for the update, look forward to testing You're implementing just in time for a big batch of encodes!
-
Retaining encode information is quite useful for people who have to diagnose issues with playback or ingest, particularly in broadcast environments, are you just wishing to protect your own recipe?
-
Ah, I didn't realise you'd so tightly implemented libav Great work. I look forward to trying the next version, I'll happily try a test build which introduces deinterlacing if you want some feedback.
-
As part of my current FFmpeg frameserving I've been using Debugmode -> FFmpeg with interlaced source content, deinterlacing with the w3fdif algorithm, unsharping with a custom matrix and spline scaling.
I'm working with 1080i25 ProRes on the timeline, editing and exporting as 1080i25 through the frameserver; FFmpeg is then deinterlacing with w3fdif, x264 encoding and muxing to 1080p50 MP4.
The quality is superb but it's slow due to the usual frameserving reasons. Imagine my excitement when I came across Voukoder! However at the moment it's missing features which would let me use it to replace frameserving.
An example of how I'm encoding a lot of files at the moment:
Codeffmpeg -i "fs-output.avs" -vf "bwdif,scale=960:-1:flags=spline,unsharp=3:3:0.5:3:3:0.0" -c:v libx264 -tune film -crf 18 -preset slow -maxrate 3M -bufsize 1.5M -profile:v high -pix_fmt yuv420p -c:a aac -b:a 320k "output-960x540p50-crf18-3mbit.mp4"
I can define the most common parameters via the Voukoder dialog in Premiere export. However there seems to be no way in R2 to do things like append custom FFmpeg vf parameters for custom filtergraphs, do stream selection or apply bitstream filters.
There seems to be no way to specify bwdif deinterlacing (or any other available algorithm like YADIF for example) within Voukoder R2 dialog or Premiere export dialog with Voukoder selected. As such that means means I can't currently use Vouk to replace my old frameserving method.
I would love the ability to append arbitrary custom parameters to the Vouk recipe - either with a free text 'arbitrary parameters' field in an Advanced tab, or being able to directly edit the command text box at the bottom of the dialog, and also be able to save this as a preset.