lisamelton / other_video_transcoding

Other tools to transcode videos.
MIT License
549 stars 25 forks source link

Issue using with external drive (Drobo) #49

Closed randallpjenkins closed 3 years ago

randallpjenkins commented 4 years ago

I'm on a Mac (Catalina) trying to use other-transcode to convert files I have stored on a Drobo, I get the following when I try: -bash: syntax error near unexpected token `('

If I move the file to my desktop it works, but puts the new file in my home folder instead of desktop.

Additionally if anyone knows of how I can set this up via automator as a service, I would love the assist. Can't figure out how to drop in the terminal command and add the path (sure thought I did).

lisamelton commented 4 years ago

@randallpjenkins I'm sorry you're having this problem. But to help I'll need more information:

  1. What options are you passing to other-transcode?

  2. Are you running a Bash script to do your transcoding?

  3. Are you correctly quoting the path name to your file when you pass that name on the command line?

Thanks.

randallpjenkins commented 4 years ago

@donmelton thanks for the quick assist!

  1. I was originally trying it with the "--mp4" option but have now just simplified it to the default. The mp4 option does also work with the file on desktop (though still puts it on the directory above which is my home folder).
  2. I am running this inside Terminal, wish no bash script just typing the command and pasting in my path name that I copy from finder. Again using this same process for both the external drive and the file on desktop.
  3. As I stated above, I'm getting that path name copied directly from the finder.
lisamelton commented 4 years ago

@randallpjenkins Thanks for the information!

It's very likely that copying the path name from the Finder is the problem. You should try using Terminal itself to get the correct path. If you can use ls or another command to "see" the file, use that same path. Never copy paths from the Finder because they won't be "escaped" correctly.

martinpickett commented 4 years ago

I do not know what you have been doing when you say "I'm getting that path name copied directly from the finder", but Terminal accepts file paths if you drag the relevant file or directory onto the Terminal window. So typing the other-transcode command followed by a space and then dragging the .mkv from the Finder into your Terminal window should automatically fill in the file path to the .mkv including correctly escaping any control characters. If you are inexperienced with the Terminal then this may be simpler than learning how to use the ls command.

The reason other-transcode outputs the transcoded video file in your home directory is because your home directory is the default "working directory" that Terminal uses. To change your working directory you can use the cd command (change directory). The basic syntax is cd <directory>. Again, you can use the dragging trick outlined above but with a directory rather than type in the directory by hand.

Warning: do not change your working directory to the same as the location of your source .mkv file. If you do, other-transcode will not work. This is intentional and stops you from overwriting the source .mkv file.

randallpjenkins commented 4 years ago

@martinpickett I was using right click and holding option which changes "copy" to "copy as pathname". It worked fine on the desktop file, but not on external drives (lots more \ action). EDIT: Thank you so much for the detailed response/help. Learning a ton over here!

So I guess my biggest question regarding the working directory is that I have an organized and largely automated library and I want to be able to size down the stuff that's really taking up a lot of space (and probably make it all mp4) but don't really want to move all of that back into the organized folders. What's my best solution here? I understand not wanting to overwrite the source *.mkv, but ideally I'm gonna use this as a quick action in Automator and run it from the Finder.

I'm under the impressions I cannot change a directory for each transcoding I do, is that correct?

martinpickett commented 4 years ago

@randallpjenkins Sorry for my delayed response.

Computers are wonderful, anything is possible. Let's spell out a fictional example situation. You have all your videos stored on your Drobo in a directory called "Videos" and you wish to transcode some of these videos. Let's also say you want to keep the source videos (in case something goes wrong with the transcode e.g. wrong other-transcode arguments). NOTE: if you have the space, I highly recommend keeping the source videos, you never know when they might be useful.

In this situation I would first create a new directory at the same level as your current Videos directory and name it "Video Sources" or something similar. Then move all the videos you wish to transcode from your Videos directory into this Video Sources directory. Next open Terminal and navigate to the Videos directory. Now you can run other-transcode on any of the videos stored in Video Sources and the transcoded output will be saved in the Videos directory.

If you wanted to transcode all of your videos then this could be automated further, however as you only want to transcode some of your videos you will need to do some steps manually.

Unfortunately, I cannot be of much help when it comes to Automator as I have never used it. Hopefully someone else can point you in the right direction for that.

Also to answer your explicit question, you can absolutely change directory for each transcode. cd to the Desktop and run other-transcode and the output will end up on your Desktop. cd to your Downloads directory and run other-transcode and the output will be in your Downloads directory.