113 lines
7.3 KiB
XML
113 lines
7.3 KiB
XML
<?xml version="1.0"?>
|
|
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
|
|
<system>
|
|
<tab id="esun" translate="label" sortOrder="300">
|
|
<label>Esun</label>
|
|
</tab>
|
|
<section id="esun_video" translate="label" type="text" sortOrder="920"
|
|
showInDefault="1" showInWebsite="1" showInStore="0">
|
|
<label>Video Management</label>
|
|
<tab>esun</tab>
|
|
<resource>Esun_Video::config</resource>
|
|
<group id="general" translate="label" type="text" sortOrder="10"
|
|
showInDefault="1" showInWebsite="1" showInStore="0">
|
|
<label>Upload Configuration</label>
|
|
<field id="enabled" translate="label" type="select" sortOrder="10"
|
|
showInDefault="1" showInWebsite="1" showInStore="0">
|
|
<label>Enable Video Upload</label>
|
|
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
|
|
</field>
|
|
<field id="media_path" translate="label comment" type="text" sortOrder="30"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Media Base Path</label>
|
|
<comment>Relative to pub/media. Example: esun/video</comment>
|
|
<validate>required-entry</validate>
|
|
</field>
|
|
<field id="chunk_size" translate="label comment" type="text" sortOrder="40"
|
|
showInDefault="1" showInWebsite="1" showInStore="0">
|
|
<label>Chunk Size (MB)</label>
|
|
<comment>Browser upload chunk size. Recommended: 5-50 MB.</comment>
|
|
<validate>required-entry validate-number validate-greater-than-zero</validate>
|
|
</field>
|
|
<field id="ffmpeg_binary" translate="label comment" type="text" sortOrder="50"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>ffmpeg Binary</label>
|
|
<comment>Used to generate a cover image from the video at the 1-second mark.</comment>
|
|
<validate>required-entry</validate>
|
|
</field>
|
|
<field id="ffprobe_binary" translate="label comment" type="text" sortOrder="60"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>ffprobe Binary</label>
|
|
<comment>Binary name or absolute path available to the PHP process.</comment>
|
|
<validate>required-entry</validate>
|
|
</field>
|
|
</group>
|
|
<group id="storage" translate="label" type="text" sortOrder="20"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Media Storage</label>
|
|
<comment>Changes are written to app/etc/env.php and take effect on the next request.</comment>
|
|
<field id="driver" translate="label comment" type="select" sortOrder="10"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Storage Driver</label>
|
|
<comment>Local stores files in pub/media. AWS S3 uses Magento RemoteStorage.</comment>
|
|
<source_model>Esun\Video\Model\Config\Source\StorageDriver</source_model>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorage</backend_model>
|
|
</field>
|
|
<field id="bucket" translate="label" type="text" sortOrder="20"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>S3 Bucket</label>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorage</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="region" translate="label" type="text" sortOrder="30"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>AWS Region</label>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorage</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="prefix" translate="label comment" type="text" sortOrder="40"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>S3 Prefix</label>
|
|
<comment>Optional directory prefix inside the bucket, for example production/media.</comment>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorage</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="endpoint" translate="label comment" type="text" sortOrder="50"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>S3 Endpoint</label>
|
|
<comment>Leave empty for AWS. Set this for an S3-compatible service.</comment>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorage</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="access_key" translate="label comment" type="obscure" sortOrder="60"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Access Key</label>
|
|
<comment>Leave both credentials empty to use an IAM role or the AWS credential provider chain.</comment>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorageEncrypted</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="secret_key" translate="label" type="obscure" sortOrder="70"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Secret Key</label>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorageEncrypted</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="path_style" translate="label comment" type="select" sortOrder="80"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Use Path-Style Endpoint</label>
|
|
<comment>Usually disabled for AWS. Some S3-compatible services require it.</comment>
|
|
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
|
|
<backend_model>Esun\Video\Model\Config\Backend\RemoteStorage</backend_model>
|
|
<depends><field id="driver">aws-s3</field></depends>
|
|
</field>
|
|
<field id="sync_note" translate="label comment" type="label" sortOrder="90"
|
|
showInDefault="1" showInWebsite="0" showInStore="0">
|
|
<label>Existing Media</label>
|
|
<comment>After switching to AWS S3, run: php bin/magento remote-storage:sync. Before switching back to local, restore the S3 files into pub/media.</comment>
|
|
</field>
|
|
</group>
|
|
</section>
|
|
</system>
|
|
</config>
|