Я могу конвертировать из файла mp4 в файл jpg вручную один за другим с помощью приведенной ниже команды в среде centOS 6.
Теперь кто-нибудь может мне помочь, как настроить cron для любого файла mp4 в каталоге для автоматического преобразования
в файл jpg с тем же именем файла, что и файл mp4, например 03052022_5a9d28723d2da.jpg
для ниже окружающей среды?
ОС: centos-6 (x86_64)
ffmpeg версия 2.2.2
Plesk 17.0.17
[root@server-xxxxxxxx-x ~]# ffmpeg -i \
/var/www/vhosts/xxxxx.com/httpdocs/save/03052022_5a9d28723d2da.mp4 \
/var/www/vhosts/xxxxx.com/httpdocs/save/03052022_5a9d28723d2da.jpg
С ‘s / .conf $ /. Jpg / p’:
[root@server-xxxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En 's/.conf$/.jpg/p'`; done
ffmpeg версия 2.2.2 Copyright (c) 2000-2014 разработчики FFmpeg
Построен 21 февраля 2018 03:03:24 с gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-18)
конфигурация:
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
Вход # 0, mov, mp4, m4a, 3gp, 3g2, mj2, из ‘/var/www/vhosts/xxxxxx.com/httpdocs/save/03081956_5aa116c836015.mp4’:
Метаданные:
Major_brand: MP42
minor_version: 0
compatibility_brands: isommp42
creation_time: 2018-02-14 04:42:34
Продолжительность: 00: 00: 00.83, начало: 0.000000, скорость передачи: 23270 кбит / с
Поток № 0: 0 (англ): видео: h264 (базовый уровень) (avc1 / 0x31637661), yuvj420p (шт., Smpte170m), 1920×1080, 25370 кбит / с, SAR 65536: 65536 DAR 16: 9, 29,73 к / с, 30 тб, 90 тыс. Тонн, 180 тыс. Тонн (по умолчанию)
Метаданные:
повернуть: 90
creation_time: 2018-02-14 04:42:34
имя обработчика: VideoHandle
Поток # 0: 1 (англ): Аудио: aac (mp4a / 0x6134706D), 48000 Гц, стерео, fltp, 96 кбит / с (по умолчанию)
Метаданные:
creation_time: 2018-02-14 04:42:34
имя обработчика: SoundHandle
Должен быть указан как минимум один выходной файл
Преобразование не удалось!
С «s / .conf $ /. Jpg / p»:
[root@server-xxxxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En "s/.conf$/.jpg/p"`; done
ffmpeg версия 2.2.2 Copyright (c) 2000-2014 разработчики FFmpeg
Построен 21 февраля 2018 03:03:24 с gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-18)
конфигурация:
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
Вход # 0, mov, mp4, m4a, 3gp, 3g2, mj2, из ‘/var/www/vhosts/xxxxxx.com/httpdocs/save/03081956_5aa116c836015.mp4’:
Метаданные:
Major_brand: MP42
minor_version: 0
compatibility_brands: isommp42
creation_time: 2018-02-14 04:42:34
Продолжительность: 00: 00: 00.83, начало: 0.000000, скорость передачи: 23270 кбит / с
Поток № 0: 0 (англ): видео: h264 (базовый уровень) (avc1 / 0x31637661), yuvj420p (шт., Smpte170m), 1920×1080, 25370 кбит / с, SAR 65536: 65536 DAR 16: 9, 29,73 к / с, 30 тб, 90 тыс. Тонн, 180 тыс. Тонн (по умолчанию)
Метаданные:
повернуть: 90
creation_time: 2018-02-14 04:42:34
имя обработчика: VideoHandle
Поток # 0: 1 (англ): Аудио: aac (mp4a / 0x6134706D), 48000 Гц, стерео, fltp, 96 кбит / с (по умолчанию)
Метаданные:
creation_time: 2018-02-14 04:42:34
имя обработчика: SoundHandle
Должен быть указан как минимум один выходной файл
Преобразование не удалось!
С «s / .mp4 $ /. Jpg / p»
[root@server-xxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En "s/.mp4$/.jpg/p"`; done
[image2 @ 0x2c488e0] Не удалось получить имя файла фрейма № 2 из шаблона ‘/var/www/vhosts/xxxxxx.com/httpdocs/save/03100013_5aa2a49bb67bc.jpg’ (либо установить updatefirst, либо использовать шаблон типа% 03d в шаблоне имени файла)Вот команда, которая преобразует все .mp4
в .jpg
в указанном каталоге:
# for i in `find /var/www/vhosts/xxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En 's/.conf$/.jpg/p'`; done
Если вы хотите удалить источник .mp4
файл при преобразовании, разверните его следующим образом:
# for i in `find /var/www/vhosts/xxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En 's/.conf$/.jpg/p'`; rm -f $i; done
Вы можете запланировать эту команду как обычную работу cron или через инструменты & Настройки> Запланированные задачи> Добавить задачу в Плеске.
Я только что выполнил командную строку той же сложности, и она работает как положено:
Других решений пока нет …