8000 [FEATURE] ffmpeg support for transcoding by rdosrun · Pull Request #1406 · automatic-ripping-machine/automatic-ripping-machine · GitHub
[go: up one dir, main page]

Skip to content

Conversation

rdosrun
Copy link
Contributor
@rdosrun rdosrun commented May 30, 2025

FFMPEG SUPPORT

Added ffmpeg support for transcoding movies - [FEATURE]

Description

I added support to the ripping folder for ffmpeg transcoding.

  • Created ffmpeg.py file
  • Added logic to main.py in ripper folder to allow ffmpeg to be called instead of handbreak
  • Made necessary addition to config to allow for ffmpeg options (ffmpeg_cli, ffmpeg_args, etc.)
    Main reason for ffmpeg support. I have had a better time using my arc a380 for av1 transcoding with ffmpeg than with handbreak. I would prefer to use this software moving forward over handbreak and wanted to make it available to everyone

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

I have been using a version of this for approximately a year. I deleted by container prior so I would like to include this in the main branch for future use

  • Docker
  • Docker inside Proxmox LXC

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have tested that my fix is effective or that my feature works

Changelog:

Include the details of changes made here

  • Created ffmpeg.py file
  • Added logic to main.py in ripper folder to allow ffmpeg to be called instead of handbreak
  • Made necessary addition to config to allow for ffmpeg options (ffmpeg_cli, ffmpeg_args, etc.)

Logs

CASTLE_IN_THE_SKY_174864125401.log

@microtechno9000 microtechno9000 changed the title feature ffmpeg support for transcoding [FEATURE] ffmpeg support for transcoding Jun 2, 2025
Copy link
sonarqubecloud bot commented Jun 2, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
69.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@microtechno9000
Copy link
Collaborator

Thanks for making a contribution to ARM, I have a few clarification questions prior to merging. I haven't added them against the code, in the past some users haven't been able to see them for some reason.

  1. Adding an entry into the wiki is good, can you please add some more information about what / why someone would want to use FFMPEG over Handbrake.
  2. Can you edit the wiki menu to include a reference to the ffmpeg.md entry you have added
  3. Can you add entries into the 'comments.json' file, as that will add in helpful information from the ARM Ripper Settings page
  4. in config.py, you have FFMPEG_CLI with length (25), but the database is 256, is this a typo?
  5. On review of the provided log I noted some output, could you confirm what is happening

Are the following typos and should be calling out FFMPEG?

PROCESS_COMPLETE = "Handbrake processing complete"

logging.debug("Handbrake starting: ")

[05-30-2025 21:59:08] INFO ARM: Handbrake call successful
...
[05-30-2025 22:03:42] INFO ARM: Handbrake call successful
[05-30-2025 22:03:42] INFO ARM: Handbrake processing complete

Once you have gone through and amended, or clarified whats happening, please run through again with loglevel set to DEBUG. It helps to show what is happening with some of the sub calls and helps catch anything that later might help solve a users issues.

Thanks for making ARM better!

Copy link
Collaborator
@microtechno9000 microtechno9000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. for the added fields, add in information into the 'comments.json' file
  2. On review of the provided log I noted some output, could you confirm what is happening

Are the following typos and should be calling out FFMPEG?

automatic-ripping-machine/arm/ripper/ffmpeg.py

Line 14 in d14b38c
PROCESS_COMPLETE = "Handbrake processing complete"

automatic-ripping-machine/arm/ripper/ffmpeg.py

Line 27 in d14b38c
logging.debug("Handbrake starting: ")

[05-30-2025 21:59:08] INFO ARM: Handbrake call successful
...
[05-30-2025 22:03:42] INFO ARM: Handbrake call successful
[05-30-2025 22:03:42] INFO ARM: Handbrake processing complete

DEST_EXT = db.Column(db.String(10))
HANDBRAKE_CLI = db.Column(db.String(25))
FFMPEG_ARGS = db.Column(db.String(512))
FFMPEG_CLI = db.Column(db.String(25))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FFMPEG_CLI with length (25), but the database is 256, is this a typo?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Adding an entry into the wiki is good, can you please add some more information about what / why someone would want to use FFMPEG over Handbrake.
  2. Can you edit the wiki menu to include a reference to the ffmpeg.md entry you have added

@microtechno9000 microtechno9000 added the Awaiting feedback Waiting for user to test fixes label Jun 9, 2025
@Crafty-The-Fox
Copy link

I made some changes in this pr (to the forks repo), though I havent been able to test it due to me not having a great testing invornment. It should solve some small things like comments and the logs saying handbreak.

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
56.9% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting f 4C69 eedback Waiting for user to test fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0