Running etv-comskip on existing files
benfry opened this issue · comments
I must be missing something, but I can't figure out how to run the scripts on already existing recordings. Or is that not possible?
Thanks for your work on this; it looks really helpful.
Example workflow:
/Library/Application\ Support/ETVComskip/bin/MarkCommercials --help
/Library/Application\ Support/ETVComskip/bin/MarkCommercials
546233460 = [The Opposition With Jordan Klepper - Ross Douthat], [858], [Comedy Central HDTV (East)]
544931880 = [Trust - La Dolce Vita], [830], [FX HDTV (East)]
546141480 = [Trust - Silenzio], [830], [FX HDTV (East)]
545536680 = [Trust - That's All Folks!], [830], [FX HDTV (East)]
/Library/Application\ Support/ETVComskip/bin/MarkCommercials --force 545536680
Got it, thanks for the reply. I'd tried that but got Python errors:
Error loading Python lib '/var/folders/x9/wbv5rwcn54x11gdj304kqpj40000gn/T/_MEIyRij4J/Python': dlopen(/var/folders/x9/wbv5rwcn54x11gdj304kqpj40000gn/T/_MEIyRij4J/Python, 10): Symbol not found: _getentropy
Referenced from: /var/folders/x9/wbv5rwcn54x11gdj304kqpj40000gn/T/_MEIyRij4J/Python (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib
in /var/folders/x9/wbv5rwcn54x11gdj304kqpj40000gn/T/_MEIyRij4J/Python
…so I assumed that I was headed in the wrong direction. But now that I know that's the correct route, I'll figure out what's wrong on my end.
Thanks again.
That's weird. All the libraries should be dynamically linked. What do you see with this command?
otool -L /Library/Application\ Support/ETVComskip/bin/MarkCommercials
/Library/Application Support/ETVComskip/bin/MarkCommercials:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
Looks the same?
/Library/Application Support/ETVComskip/bin/MarkCommercials:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
From brief searching earlier it seems to be issues with various versions of Python and how they interact with macOS versions. The machine in question is running 10.11, I was gonna try it on a 10.13 machine and see how it goes.
I have Homebrew on that machine, was also considering brew installing Python and altering the .py
files to use that version instead of Apple's.
Now noticing the which was built for Mac OS X 10.13
part of the original error message, which makes me think it's an issue with the version of the OS X SDK used to build the binaries.
The binary /Library/Application Support/ETVComskip/bin/MarkCommercials
should be a standalone created by pyinstaller
, along with the dynamic libraries that it's linked to.
I don't see how Homebrew or Macports python installs should make a difference after pyinstaller
creates the binary.
Looks like some dependency issue on that box.
Look at which python
and play around with getting the Hombrew python out of your PATH
. Try using /usr/bin/python
.
You can see the python module dependencies in the Makefile. If you have all those installed, this will work too:
python /Library/Application\ Support/ETVComskip/scripts/MarkCommercials.py --help
makes me think it's an issue with the version of the OS X SDK used to build the binaries
Are you matching the etv-comskip
release with the OS on the box? Cross-macOS compatibility isn't guaranteed by pyinstaller
.
Yep, that was the problem… I missed the fact that the downloads after 3.5.3 started specifying Sierra and High Sierra. Ugh, sorry for the trouble.