cwilby / nextcloud-workflow-media-converter

An automated media conversion plugin for NextCloud
https://apps.nextcloud.com/apps/workflow_media_converter
GNU Affero General Public License v3.0
36 stars 16 forks source link

Cannot tune ffmpeg options in conversion job #413

Closed yoGhurrt1 closed 7 months ago

yoGhurrt1 commented 9 months ago

Steps to reproduce

  1. Create conversion batch
  2. Add options "-c:v libx264 -movflags faststart -preset veryslow -crf 18 -pix_fmt yuv420p -c:a aac" for output file in "Additional FFmpeg flags" section
  3. ....
  4. Job ends with error "Unknown decoder libx264"

I tried to modify command structure in last text-box where command fulfill when adding extra commands, but it didn't change anything

Expected behaviour

Media converter should execute command in this pattern: ffmpeg -i {input} -threads 0 -c:v libx264 -movflags faststart -preset veryslow -crf 18 -pix_fmt yuv420p -c:a aac {output}

Actual behaviour

Instead, Media Converter just bundles everything before -i {input} so whole command looks like this: ffmpeg -threads 0 -c:v libx264 -movflags faststart -preset veryslow -crf 18 -pix_fmt yuv420p -c:a aac -i {input} {output}

I'm sure that this is problem with command structure because manually this command (of course with file instead of /tmp) exits with same error. It isn't problem with ffmpeg as it executes command from "Expected behavior" run directly on Nextcloud VM.

Workflow Media Converter app

Workflow Media Converter app version: 1.9.3

Server configuration

Operating system: Ubuntu 22.04

Web server: Apache 2.4.52

Database: Maria 10.6.16

PHP version: 8.1.2

Nextcloud Version: 28.0.1

Where did you install Nextcloud from: manually trough repositories instead of snap

Signing status:

No errors have been found.

List of activated apps:

``` Enabled: - activity: 2.20.0 - circles: 28.0.0-dev - cloud_federation_api: 1.11.0 - comments: 1.18.0 - contactsinteraction: 1.9.0 - dashboard: 7.8.0 - dav: 1.29.1 - federatedfilesharing: 1.18.0 - federation: 1.18.0 - files: 2.0.0 - files_external: 1.20.0 - files_pdfviewer: 2.9.0 - files_reminders: 1.1.0 - files_sharing: 1.20.0 - files_trashbin: 1.18.0 - files_versions: 1.21.0 - firstrunwizard: 2.17.0 - ldap_write_support: 1.10.0 - logreader: 2.13.0 - lookup_server_connector: 1.16.0 - memories: 6.2.2 - nextcloud_announcements: 1.17.0 - notifications: 2.16.0 - oauth2: 1.16.3 - password_policy: 1.18.0 - photos: 2.4.0 - previewgenerator: 5.4.0 - privacy: 1.12.0 - provisioning_api: 1.18.0 - recommendations: 2.0.0 - related_resources: 1.3.0 - serverinfo: 1.18.0 - settings: 1.10.1 - support: 1.11.0 - survey_client: 1.16.0 - suspicious_login: 6.0.0 - systemtags: 1.18.0 - text: 3.9.1 - theming: 2.3.0 - twofactor_backupcodes: 1.17.0 - updatenotification: 1.18.0 - user_ldap: 1.19.0 - viewer: 2.2.0 - workflow_media_converter: 1.9.3 - workflow_script: 1.13.0 - workflowengine: 2.10.0 Disabled: - admin_audit: 1.18.0 - bruteforcesettings: 2.8.0 - encryption: 2.16.0 - files_rightclick: 0.15.1 (installed 1.6.0) - files_scripts: 4.0.2 (installed 4.0.2) - sharebymail: 1.18.0 (installed 1.18.0) - twofactor_totp: 10.0.0-beta.2 - user_status: 1.8.1 (installed 1.8.1) - weather_status: 1.8.0 (installed 1.8.0) ```

Nextcloud configuration:

``` { "system": { "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "redacted" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "mysql", "version": "28.0.1.1", "overwrite.cli.url": "https:\/\/redacted", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbport": "", "dbtableprefix": "oc_", "mysql.utf8mb4": true, "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "maintenance": false, "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory", "theme": "", "loglevel": 2, "twofactor_enforced": "false", "twofactor_enforced_groups": [], "twofactor_enforced_excluded_groups": [], "defaultapp": "memories,files,dashboard", "memories.exiftool": "\/var\/www\/nextcloud\/apps\/memories\/bin-ext\/exiftool-amd64-glibc", "memories.vod.path": "\/var\/www\/nextcloud\/apps\/memories\/bin-ext\/go-vod-amd64", "enabledPreviewProviders": [ "OC\\Preview\\Movie", "OC\\Preview\\TIFF", "OC\\Preview\\HEIC", "OC\\Preview\\Image" ], "preview_max_memory": 5108, "skeletondirectory": "", "memories.gis_type": 1, "memories.vod.disable": false, "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg", "memories.vod.ffprobe": "\/usr\/bin\/ffprobe", "memories.video_default_quality": "-1", "preview_max_filesize_image": 100 }, "apps": { "activity": { "enabled": "yes", "installed_version": "2.20.0", "types": "filesystem" }, "backgroundjob": { "lastjob": "105" }, "circles": { "enabled": "yes", "installed_version": "28.0.0-dev", "loopback_tmp_scheme": "https", "maintenance_run": "0", "maintenance_update": "{\"3\":1706653802,\"2\":1706656503,\"1\":1706656802}", "migration_22": "1", "migration_run": "0", "types": "filesystem,dav" }, "cloud_federation_api": { "enabled": "yes", "installed_version": "1.11.0", "types": "filesystem" }, "comments": { "enabled": "yes", "installed_version": "1.18.0", "types": "logging" }, "contactsinteraction": { "enabled": "yes", "installed_version": "1.9.0", "types": "dav" }, "core": { "backgroundjobs_mode": "cron", "files_metadata": "{\"photos-original_date_time\":{\"value\":null,\"type\":\"int\",\"indexed\":true,\"editPermission\":0},\"photos-exif\":{\"value\":null,\"type\":\"array\",\"indexed\":false,\"editPermission\":0},\"photos-ifd0\":{\"value\":null,\"type\":\"array\",\"indexed\":false,\"editPermission\":0},\"photos-size\":{\"value\":null,\"type\":\"array\",\"indexed\":false,\"editPermission\":0}}", "files_metadata_installed": "1", "installedat": "1675457754.2743", "lastcron": "1706656802", "lastupdateResult": "[]", "lastupdatedat": "1706655523", "metadataGenerationLastHandledUser": "", "moveavatarsdone": "yes", "oc.integritycheck.checker": "[]", "previewsCleanedUp": "1", "public_files": "files_sharing\/public.php", "public_webdav": "dav\/appinfo\/v1\/publicwebdav.php", "shareapi_enabled": "no", "updater.secret.created": "", "vendor": "nextcloud" }, "dashboard": { "enabled": "yes", "installed_version": "7.8.0", "types": "" }, "dav": { "buildCalendarReminderIndex": "yes", "buildCalendarSearchIndex": "yes", "chunks_migrated": "1", "enabled": "yes", "installed_version": "1.29.1", "needs_system_address_book_sync": "no", "regeneratedBirthdayCalendarsForYearFix": "yes", "types": "filesystem" }, "federatedfilesharing": { "enabled": "yes", "installed_version": "1.18.0", "types": "" }, "federation": { "enabled": "yes", "installed_version": "1.18.0", "types": "authentication" }, "files": { "enabled": "yes", "installed_version": "2.0.0", "types": "filesystem" }, "files_external": { "enabled": "yes", "installed_version": "1.20.0", "types": "filesystem" }, "files_pdfviewer": { "enabled": "yes", "installed_version": "2.9.0", "types": "" }, "files_reminders": { "enabled": "yes", "installed_version": "1.1.0", "types": "" }, "files_rightclick": { "enabled": "no", "installed_version": "1.6.0", "types": "" }, "files_scripts": { "enabled": "no", "first_run": "false", "installed_version": "4.0.2", "types": "" }, "files_sharing": { "enabled": "yes", "incoming_server2server_share_enabled": "no", "installed_version": "1.20.0", "lookupServerEnabled": "no", "lookupServerUploadEnabled": "no", "outgoing_server2server_share_enabled": "yes", "types": "filesystem" }, "files_trashbin": { "enabled": "yes", "installed_version": "1.18.0", "types": "filesystem,dav" }, "files_versions": { "enabled": "yes", "installed_version": "1.21.0", "types": "filesystem,dav" }, "firstrunwizard": { "enabled": "yes", "installed_version": "2.17.0", "types": "logging" }, "ldap_write_support": { "enabled": "yes", "installed_version": "1.10.0", "template.user": "redacted", "types": "" }, "logreader": { "dateTimeFormat": "\"local\"", "enabled": "yes", "installed_version": "2.13.0", "types": "logging" }, "lookup_server_connector": { "enabled": "yes", "installed_version": "1.16.0", "types": "authentication" }, "memories": { "enabled": "yes", "installed_version": "6.2.2", "last_index_job_duration": "6.1", "last_index_job_start": "1706656504", "last_index_job_status": "Indexing completed successfully", "last_index_job_status_type": "success", "types": "" }, "nextcloud_announcements": { "enabled": "yes", "installed_version": "1.17.0", "pub_date": "Thu, 24 Oct 2019 00:00:00 +0200", "types": "logging" }, "notifications": { "enabled": "yes", "installed_version": "2.16.0", "types": "logging" }, "oauth2": { "enabled": "yes", "installed_version": "1.16.3", "types": "authentication" }, "password_policy": { "enabled": "yes", "installed_version": "1.18.0", "types": "authentication" }, "photos": { "enabled": "yes", "installed_version": "2.4.0", "lastPlaceMappedUser": "redacted", "lastPlaceMappingDone": "true", "types": "dav,authentication" }, "previewgenerator": { "enabled": "yes", "installed_version": "5.4.0", "types": "filesystem" }, "privacy": { "enabled": "yes", "installed_version": "1.12.0", "types": "" }, "provisioning_api": { "enabled": "yes", "installed_version": "1.18.0", "types": "prevent_group_restriction" }, "recommendations": { "enabled": "yes", "installed_version": "2.0.0", "types": "" }, "related_resources": { "enabled": "yes", "installed_version": "1.3.0", "types": "" }, "serverinfo": { "cached_count_filecache": "68665", "cached_count_storages": "27", "enabled": "yes", "installed_version": "1.18.0", "types": "" }, "settings": { "enabled": "yes", "installed_version": "1.10.1", "types": "" }, "sharebymail": { "enabled": "no", "installed_version": "1.18.0", "types": "filesystem" }, "support": { "SwitchUpdaterServerHasRun": "yes", "enabled": "yes", "installed_version": "1.11.0", "types": "session" }, "survey_client": { "enabled": "yes", "installed_version": "1.16.0", "types": "" }, "suspicious_login": { "enabled": "yes", "installed_version": "6.0.0", "types": "authentication" }, "systemtags": { "enabled": "yes", "installed_version": "1.18.0", "types": "logging" }, "text": { "enabled": "yes", "installed_version": "3.9.1", "types": "dav" }, "theming": { "enabled": "yes", "installed_version": "2.3.0", "types": "logging" }, "twofactor_backupcodes": { "enabled": "yes", "installed_version": "1.17.0", "types": "" }, "updatenotification": { "core": "25.0.4.1", "enabled": "yes", "installed_version": "1.18.0", "types": "", "update_check_errors": "0" }, "user_ldap": { "background_sync_interval": "43200", "background_sync_offset": "0", "background_sync_prefix": "s01", "cleanUpJobOffset": "0", "enabled": "yes", "installed_version": "1.19.0", "s01_lastChange": "1706652113", "s01has_memberof_filter_support": "1", "s01home_folder_naming_rule": "", "s01last_jpegPhoto_lookup": "0", "s01ldap_agent_password": "***REMOVED SENSITIVE VALUE***", "s01ldap_attributes_for_group_search": "", "s01ldap_attributes_for_user_search": "", "s01ldap_backup_host": "", "s01ldap_backup_port": "", "s01ldap_base": "redacted", "s01ldap_base_groups": "redacted", "s01ldap_base_users": "redacted", "s01ldap_cache_ttl": "600", "s01ldap_configuration_active": "1", "s01ldap_default_ppolicy_dn": "", "s01ldap_display_name": "displayName", "s01ldap_dn": "redacted", "s01ldap_dynamic_group_member_url": "", "s01ldap_email_attr": "", "s01ldap_experienced_admin": "0", "s01ldap_expert_username_attr": "sAMAccountName", "s01ldap_expert_uuid_group_attr": "", "s01ldap_expert_uuid_user_attr": "", "s01ldap_ext_storage_home_attribute": "", "s01ldap_gid_number": "gidNumber", "s01ldap_group_display_name": "cn", "s01ldap_group_filter": "redacted", "s01ldap_group_filter_mode": "0", "s01ldap_group_member_assoc_attribute": "", "s01ldap_groupfilter_groups": "redacted", "s01ldap_groupfilter_objectclass": "", "s01ldap_host": "redacted", "s01ldap_login_filter": "redacted", "s01ldap_login_filter_mode": "0", "s01ldap_loginfilter_attributes": "", "s01ldap_loginfilter_email": "0", "s01ldap_loginfilter_username": "1", "s01ldap_matching_rule_in_chain_state": "unknown", "s01ldap_nested_groups": "0", "s01ldap_override_main_server": "", "s01ldap_paging_size": "500", "s01ldap_port": "389", "s01ldap_quota_attr": "", "s01ldap_quota_def": "", "s01ldap_tls": "0", "s01ldap_turn_off_cert_check": "0", "s01ldap_turn_on_pwd_change": "0", "s01ldap_user_avatar_rule": "default", "s01ldap_user_display_name_2": "", "s01ldap_user_filter_mode": "0", "s01ldap_userfilter_groups": "redacted", "s01ldap_userfilter_objectclass": "person", "s01ldap_userlist_filter": "redacted", "s01use_memberof_to_detect_membership": "1", "types": "authentication" }, "user_status": { "enabled": "no", "installed_version": "1.8.1", "types": "" }, "viewer": { "enabled": "yes", "installed_version": "2.2.0", "types": "" }, "weather_status": { "enabled": "no", "installed_version": "1.8.0", "types": "" }, "workflow_media_converter": { "conversionLock": "no", "convertMediaInParallel": "no", "enabled": "yes", "installed_version": "1.9.3", "threadLimit": "0", "types": "" }, "workflow_script": { "enabled": "yes", "installed_version": "1.13.0", "types": "filesystem" }, "workflowengine": { "enabled": "yes", "installed_version": "2.10.0", "types": "filesystem" } } } ```

Are you using external storage, if yes which one: SMB

Are you using encryption: no

Server log (data/nextcloud.log)

``` {"reqId":"5Jm9kwIEFimprkp4OLJg","level":3,"time":"2024-01-30T22:45:03+00:00","remoteAddr":"","user":"--","app":"workflow_media_converter","method":"","url":"--","message":"[Symfony\\Component\\Process\\Exception\\ProcessFailedException] :: (0) :: The command \"ffmpeg -threads 0 -c:v libx264 -movflags faststart -preset veryslow -crf 18 -pix_fmt yuv420p -c:a aac -i /tmp/oc_tmp_UMLHlh-.MOV /tmp/oc_tmp_UMLHlh-.mp4\" failed.\n\nExit Code: 1(General error)\n\nWorking directory: /var/www\n\nOutput:\n================\n\n\nError Output:\n================\nffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers\n built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)\n configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared\n libavutil 56. 70.100 / 56. 70.100\n libavcodec 58.134.100 / 58.134.100\n libavformat 58. 76.100 / 58. 76.100\n libavdevice 58. 13.100 / 58. 13.100\n libavfilter 7.110.100 / 7.110.100\n libswscale 5. 9.100 / 5. 9.100\n libswresample 3. 9.100 / 3. 9.100\n libpostproc 55. 9.100 / 55. 9.100\nUnknown decoder 'libx264'\n :: #0 /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php(65): OCA\\WorkflowMediaConverter\\BackgroundJobs\\ConvertMediaJob->convertMedia()\n#1 /var/www/nextcloud/lib/public/BackgroundJob/Job.php(81): OCA\\WorkflowMediaConverter\\BackgroundJobs\\ConvertMediaJob->run()\n#2 /var/www/nextcloud/lib/public/BackgroundJob/QueuedJob.php(57): OCP\\BackgroundJob\\Job->start()\n#3 /var/www/nextcloud/lib/public/BackgroundJob/QueuedJob.php(47): OCP\\BackgroundJob\\QueuedJob->start()\n#4 /var/www/nextcloud/cron.php(152): OCP\\BackgroundJob\\QueuedJob->execute()\n#5 {main}","userAgent":"--","version":"28.0.1.1","data":{"app":"workflow_media_converter"},"id":"65b97bf701bc7"} ```
ColdRosin commented 9 months ago

Hi. I came across such a problem myself and fixed it this way. In file /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php replace line $command = "ffmpeg -threads $threads {$additionalConversionFlags} -i {$this->tempSourcePath} {$this->tempOutputPath}" with $command = "ffmpeg -threads $threads -i {$this->tempSourcePath} {$additionalConversionFlags} {$this->tempOutputPath}"

yoGhurrt1 commented 8 months ago

Hi. I came across such a problem myself and fixed it this way. In file /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php replace line $command = "ffmpeg -threads $threads {$additionalConversionFlags} -i {$this->tempSourcePath} {$this->tempOutputPath}" with $command = "ffmpeg -threads $threads -i {$this->tempSourcePath} {$additionalConversionFlags} {$this->tempOutputPath}"

Thanks ColdRosin, I tried your suggestion and there was difference as it didn't end with error message. However, now it's stuck on "converting" and throwing error "ParseError syntax error, unexpected variable "$process""

Raw log entry:

{ "reqId": "C77phrAG78kAUFEFX4LJ", "level": 3, "time": "2024-02-18T21:35:02+00:00", "remoteAddr": "", "user": "--", "app": "cron", "method": "", "url": "--", "message": "Exception thrown: ParseError", "userAgent": "--", "version": "28.0.2.5", "exception": { "Exception": "ParseError", "Message": "syntax error, unexpected variable \"$process\"", "Code": 0, "Trace": [ { "file": "/var/www/nextcloud/lib/composer/composer/ClassLoader.php", "line": 427, "function": "Composer\Autoload\{closure}", "args": [ " sensitive parameters replaced " ] }, { "function": "loadClass", "class": "Composer\Autoload\ClassLoader", "type": "->" }, { "file": "/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php", "line": 126, "function": "__construct", "class": "ReflectionClass", "type": "->" }, { "file": "/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php", "line": 146, "function": "resolve", "class": "OC\AppFramework\Utility\SimpleContainer", "type": "->" }, { "file": "/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php", "line": 468, "function": "query", "class": "OC\AppFramework\Utility\SimpleContainer", "type": "->" }, { "file": "/var/www/nextcloud/lib/private/ServerContainer.php", "line": 155, "function": "queryNoFallback", "class": "OC\AppFramework\DependencyInjection\DIContainer", "type": "->" }, { "file": "/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php", "line": 64, "function": "query", "class": "OC\ServerContainer", "type": "->" }, { "file": "/var/www/nextcloud/lib/public/Server.php", "line": 55, "function": "get", "class": "OC\AppFramework\Utility\SimpleContainer", "type": "->" }, { "file": "/var/www/nextcloud/lib/private/BackgroundJob/JobList.php", "line": 326, "function": "get", "class": "OCP\Server", "type": "::" }, { "file": "/var/www/nextcloud/lib/private/BackgroundJob/JobList.php", "line": 235, "function": "buildJob", "class": "OC\BackgroundJob\JobList", "type": "->" }, { "file": "/var/www/nextcloud/cron.php", "line": 145, "function": "getNext", "class": "OC\BackgroundJob\JobList", "type": "->" } ], "File": "/var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php", "Line": 162, "CustomMessage": "Exception thrown: ParseError" }, "id": "65d278081e1f1" }

Maybe I missed something, but just replaced what you suggested in specific file.

ColdRosin commented 8 months ago

Most likely, you made a mistake with the syntax. Please check the function in the file /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php


public function convertMedia() {
                $threads = $this->configService->getAppConfigValue('threadLimit', 0);

                $additionalConversionFlags = empty($this->additionalConversionFlags) ? '' : " {$this->additionalConversionFlags}";

                $command = "ffmpeg -threads $threads -i {$this->tempSourcePath} {$additionalConversionFlags} {$this->tempOutputPath}";

                $process = $this->processFactory->create($command);

                $process->run();

                if (!$process->isSuccessful()) {
                        throw new ProcessFailedException($process);
                }

                return $this;
        }
yoGhurrt1 commented 8 months ago

There was a ; missing after line (as always). After that instead of stuck, it just stops with "Has-Failures" and throws error.

[workflow_media_converter] Error: [Error] :: (0) :: Call to a member function getUID() on null :: #0 /var/www/nextcloud/lib/private/FilesMetadata/Listener/MetadataUpdate.php(59): OC\FilesMetadata\FilesMetadataManager->refreshMetadata()
#1 /var/www/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php(86): OC\FilesMetadata\Listener\MetadataUpdate->handle()
#2 /var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php(230): OC\EventDispatcher\ServiceEventListener->__invoke()
#3 /var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php(59): Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
#4 /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php(94): Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
#5 /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php(106): OC\EventDispatcher\EventDispatcher->dispatch()
#6 /var/www/nextcloud/lib/private/Files/Node/HookConnector.php(109): OC\EventDispatcher\EventDispatcher->dispatchTyped()
#7 /var/www/nextcloud/lib/private/legacy/OC_Hook.php(105): OC\Files\Node\HookConnector->postWrite()
#8 /var/www/nextcloud/lib/private/Files/View.php(613): OC_Hook::emit()
#9 /var/www/nextcloud/lib/private/Files/View.php(667): OC\Files\View->emit_file_hooks_post()
#10 /var/www/nextcloud/lib/private/Files/View.php(1043): OC\Files\View->file_put_contents()
#11 /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php(260): OC\Files\View->fromTmpFile()
#12 /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php(194): OCA\WorkflowMediaConverter\BackgroundJobs\ConvertMediaJob->writeFileSafe()
#13 /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php(174): OCA\WorkflowMediaConverter\BackgroundJobs\ConvertMediaJob->writePostConversionOutputFile()
#14 /var/www/nextcloud/apps/workflow_media_converter/lib/BackgroundJobs/ConvertMediaJob.php(66): OCA\WorkflowMediaConverter\BackgroundJobs\ConvertMediaJob->handlePostConversion()
#15 /var/www/nextcloud/lib/public/BackgroundJob/Job.php(81): OCA\WorkflowMediaConverter\BackgroundJobs\ConvertMediaJob->run()
#16 /var/www/nextcloud/lib/public/BackgroundJob/QueuedJob.php(57): OCP\BackgroundJob\Job->start()
#17 /var/www/nextcloud/lib/public/BackgroundJob/QueuedJob.php(47): OCP\BackgroundJob\QueuedJob->start()
#18 /var/www/nextcloud/cron.php(152): OCP\BackgroundJob\QueuedJob->execute()
#19 {main}
    from ? by -- at 25 Feb 2024, 17:35:58

This is how it looks like directly on server. I tested even replacing whole function but this didn't change plugin behaviour.

image

Edit:

Now I see it throws error and converts files - just coincidence I found that there was output.

mmuman commented 7 months ago

I also had this issue. We should really have separate fields for input options and output options, and make sure the complete command line field is not editable, as it's misleading.

cwilby commented 7 months ago

In the next release (1.10.0), there are separate fields for input options and output options, and the command line field is not editable.

In addition (for backwards compatibility) - if the command fails with the flags placed before the -i flag, the plugin will retry another command with the flags placed after the -i flag.

image
cwilby commented 7 months ago

Closing, if there are other issues please create new ones 👍.

Thanks for all the discussion!

mmuman commented 7 months ago

Oh great, I was about to try doing that.