I have the following loaders successfully installed on my system: AVISource and FFMS2. I have read here that L-SMASH is sometimes a preferred loader when dealing with MP4 or MOV. So I thought I would give it a try. The problem is I have no idea how to install it. I downloaded the 32-bit version and copied the dlls in the Avisynth folder to my Plugins folder for Avisynth. But when trying to load a video, I get a no function found error for the LSMASHVideoSource line.
There are no instructions included in the download from what I can see. Usually it is as simple as copying the dlls and .avsi script to the plug-in folder (e.g. FFMS). But I can't find a .avsi file in the download.
Any help is greatly appreciated. Thanks!
+ Reply to Thread
Results 1 to 15 of 15
1. What version of Windows are you using? Windows XP might not be supported anymore.
2. Some versions might neet Visual C++ Runtime Libraries (usually version 2013 or 2015), download and install them if you have not done so already
3. Try different binaries, esp. the static ones:
On XP: https://www.dropbox.com/sh/3i81ttxf028m1eh/AAAnH7s_w8mmODK330my4giWa/Old/L-SMASH-Works...-32bit.7z?dl=0
On newer Windows: https://www.dropbox.com/sh/3i81ttxf028m1eh/AACivvyums8UXhwEjevYEjmla/LSMASHSource-AviS...-32bit.7z?dl=0
Thanks for the replies.
1. I am using W7 x64 and have Avisynth 2.6.0 (32-bit) installed.
2. I checked, and I do have the LSMASHSource.dll copied into my Avisynth Plugins folder.
3. I don't have any Visual C++ libraries older than 2012 installed. I will give that a shot.
Here is the Avisynth script I am using:
Path = "E:\" V = "video.m2ts" A = "audio.wav" #vid = FFVideoSource( V, fpsnum = 30000, fpsden = 1001 ) vid = LSMASHVideoSource( V ) aud = WAVSource(A) AudioDub(vid,aud) Info
Try explicitly loading the dll in your script:
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\LSMASHSource.dll")
Did you follow points 2 and 3 of my post?
sneaker, thanks, after installing Visual C++ 2013 (x86) it finally worked. An HTML link to that download was sitting in the L-SMASH download, but I didn't realize that was what it was telling me to do.
Anyway, after some more fiddling, I was finally able to load an MP4 that I authored using x264 cli. So I know that it at least works for that. Here is a summary of what I can or can't load:
1. .mp4 - success
2. .mov (ProRes HQ): Loads , but colors all messed up
3. .m2ts/mts: Error: Failed to read input file.
2. That's because your ProRes file is probably 10 bit and AviSynth only supports 8 bit natively.
You can either:
a.) Dither down to an 8 bit format using the "format" parameter.
b.) use stacked or interleaved high bitdepth output. Choose a 16 bit YUV format then and set "stacked=true" if you want stacked.
In the included README you will find all available formats.
3. Use LWLibAVVideoSource() for everything except mp4/mov(/3gp?). It will create an index like ffms2, though.
OK, finally got it after switching to the LWLibavVideoSource() function for mts and m2ts.
Yes, my ProRes content is 10-bit, so I will fiddle a little more.
Dithering down to 4:2:2 8 bit YUV:
Dithering down to 4:2:0 8 bit YUV:
Thanks so much for all the help! I now have everything worked out for loading MP4, MOV (including 10-bit), and MTS/M2TS.
So, does LSMASHVideoSource even support m2ts?! Keeps throwing a "[importer: Error]: failed to find the matched importer." error.
LSMASHVideoSource() is for ISO Base Media family (mp4, mov...) only, LWLibavVideoSource() supports more containers.