lisamelton / other_video_transcoding

Other tools to transcode videos.
MIT License
555 stars 26 forks source link

Command code proofread/Quality checker #175

Closed bolognasammich closed 1 year ago

bolognasammich commented 1 year ago

Hey guys,

I'm getting ready to start the plunge of converting my non 4k blurays. I just wanted to run what command line I plan to use and if there are changes I should make to it? Just looking for a no frills conversion lol

other-transcode --crop 1920:800:0:140 --add-subtitle 1 --x264-avbr --eac3 C:\Rips\Movie.mkv

Also, I read about the query-handbrake-log tool and ratefactor to check quality of the rips. Is there a guide available on how to use those?

Any help is appreciated!

lisamelton commented 1 year ago

@bolognasammich Thanks for using other-transcode! OK, some feedback:

Other than that, it looks good. 👍

I think you mean the ask-ffmpeg-log tool? There's not really a guide and I wouldn't trust the ratefactor number to be an absolute evaluation of quality. It's mostly useful to compare quality between two videos transcoded with similar options.

Does that help?

skj-dev commented 1 year ago

I've had excellent results with Don's no-frills other-transcode x264 variant, classic-transcode. I'm on a Mac, and with a static ffmpeg build get great results. There are a few options that can be passed, but I just use the defaults, which also simplifies things, since it's literally just a matter of running classic-transcode /path/to/source/rips/*.mkv.

lisamelton commented 1 year ago

@ttyS0 Oh right! I forgot you were using the streamlined script instead of other-transocde itself. Thanks for clarifying!

bolognasammich commented 1 year ago

I'll be sure to try classic-transcode and 264-cbr, I thought all blurays were 1920:800:0:140 cropping by default, I'm deff glad I asked first!

I had been referring to this part from one of your guides,

"In addition, I use the query-handbrake-log tool to report on ratefactor, the average P-frame quantizer, to get a relative quality assessment from the x264 encoder."

Just curious what my best route would be to compare rips more than anything.

loshlee commented 1 year ago

I still like MediaInfo (now from the Mac App Store). It's a little clumsy with the Open file command in a sub menu, but you can take a look at a lot of details quickly. The default (Easy) view lets you hover over the display field to see more, but I usually change the view to HTML (I have a Keyboard Maestro macro to combine this with the clumsy "Open File" command whenever I use it) or Text. Then you can copy everything in the window if you want to save it.

skj-dev commented 1 year ago

brew install media-info provides the CLI version. Since Don's tools are CLI, it means one is already at the terminal, so typing mediainfo path/to/file.mkv can be handy. 😎

bolognasammich commented 1 year ago

I'll definitely give those a try! Thanks again for all your help gang!!

loshlee commented 1 year ago

Here's AppleScript droplet source to display default output of media-info, in case you want to see it in Terminal by dragging and dropping media files rather than typing. Most of my transcoding is really similar, so I use other_video_transcoding that way. I decided to adapt my droplet source to work with media-info, too, and share it here. Save as an Application in Script Editor to make it "droppable". You'll have to approve the applet's authority the first time you drop a file onto it, but other than that, it should be ready to use. You can also just hit Run in Script Editor.app (if you've granted Script Editor the ability to alter the file system) then choose a file when prompted.


property temppath : "/private/tmp/"
property startnum : 0
property newline : ASCII character 10
property tmpfile : "/tmp/execme.command"

on open the_items
    my mediaInfo(the_items)
end open

on mediaInfo(the_items)
    set theshellscript to ""
    repeat with the_item in the_items
        set the_item to the_item as alias
        tell application "Finder"
            set sost to (container of the_item) as string
        end tell
        set pos_filepath to POSIX path of sost
        set this_filepath to (the_item as string)
        set thesourcename to (name of (info for the_item))
        set namepart to (name extension of (info for the_item))
        set the_source_file to POSIX path of this_filepath
        set theshellscript to the theshellscript & "mediainfo" & space & (quoted form of the_source_file) & space & "; echo '" & "

==========================

Media Information for" & space & "\"" & thesourcename & "\"" & "

==========================

';"
    end repeat
    set theshellscript to theshellscript & "sleep 3;mv" & space & (quoted form of tmpfile) & space & (quoted form of (POSIX path of (path to trash)))
    do shell script "echo " & quoted form of theshellscript & " > " & tmpfile
    repeat
        do shell script "chmod +x " & tmpfile
        do shell script "open -a Terminal.app" & space & tmpfile
        exit repeat
    end repeat
end mediaInfo

on run
    set the_items to ((choose file) as list)
    mediaInfo(the_items)
end run