Commit Diff


commit - e9f6c498ddcd314f599d62a87369ee0a8b220e29
commit + 4b5c30ce094dc7bd5379517c1d7c89af02d1e5c2
blob - 3879308da7584de4ee44bea4c3012c5a9efe1596
blob + 755dad20f7c11a7614a69fdf8c4fa818d04297b4
--- capsule/atom.xml
+++ capsule/atom.xml
@@ -8,7 +8,13 @@
         <name>continue</name>
         <email>continue@to.any-key.press</email>
     </author>
-    <updated>2024-10-28T16:01:43.965865+00:00</updated>
+    <updated>2024-11-07T12:42:37.807566+00:00</updated>
+    <entry>
+        <id>gemini://any-key.press/trap/ffmpeg_options.gmi</id>
+        <link href="gemini://any-key.press/trap/ffmpeg_options.gmi" rel="alternate"/>
+        <title>Часто используемые команды ffmpeg для обработки видео с фото-ловушки</title>
+        <updated>2024-11-07T12:42:37.807566+00:00</updated>
+    </entry>
     <entry>
         <id>gemini://any-key.press/forth/preForth.gmi</id>
         <link href="gemini://any-key.press/forth/preForth.gmi" rel="alternate"/>
blob - b0566e0bae70d330b616e9ded2a0aa0c37aaa575
blob + fa72c14c7abace6ad9197f859ca975e8ee062e99
--- capsule/trap/index.gmi
+++ capsule/trap/index.gmi
@@ -25,3 +25,7 @@
 ## Вокруг скелета курицы (осень 2024)
 
 => 2024-09-2x.gmi Вокруг скелета курицы
+
+## Узелок на память: часто используемые команды ffmpeg для обработки видео с фото-ловушки
+
+=> ffmpeg_options.gmi Часто используемые команды ffmpeg для обработки видео с фото-ловушки
blob - /dev/null
blob + 07966a171c26d9d6e46279728eaa2e856ab83e40 (mode 644)
--- /dev/null
+++ capsule/trap/ffmpeg_options.gmi
@@ -0,0 +1,78 @@
+# Часто используемые команды ffmpeg для обработки видео с фото-ловушки
+
+Решил сделать для себя небольшой файл-заметку о том, какие команды запуска утилиты ffmpeg я использую наиболее часто.
+
+Самый базовый интерфейс заключается в том, что бы в аргументе -i указать входной файл, а последним аргументом командной строки указать выходной файл. Например для конвертации из DSCF0001.AVI в DSCF0001.mp4 можно выполнить следующую команду:
+
+```
+ffmpeg -i DSCF0001.AVI DSCF0001.mp4
+```
+
+## Изменение размера видео (масштабирование)
+
+Фото-ловушка пишет видео в разрешении 3840 на 2160. Файлы получаются слишком большими, особенно для выкладывания их в сеть. Поэтому (перед тем как делиться видео) я уменьшаю разрешение видео. 
+
+Пример для 1920 на 1080:
+
+```
+ffmpeg -i DSCF0001.AVI -vf scale=1920x1080 DSCF0001.mp4
+```
+
+Пример для 1280 на 720:
+
+```
+ffmpeg -i DSCF0001.AVI -vf scale=1280x720 DSCF0001.mp4
+```
+
+Подробнее:
+=> https://trac.ffmpeg.org/wiki/Scaling FFmpeg wiki: Scaling
+
+## Склеивание общего видео файла из нескольких фрагметнов
+
+Предварительно необходимо сформировать файл, содержащий список путей файлов, из которых будет "склеено" результирующее видео. Пример содержимого файла для конкатенации файлов DSCF0001.AVI, DSCF0002.AVI и DSCF0003.AVI:
+
+```
+$ cat /tmp/files.txt                                                                                                     
+file '/path/to/DSCF0001.AVI'
+file '/path/to/DSCF0002.AVI'
+file '/path/to/DSCF0003.AVI'
+```
+
+Команда последовательного объединения файлов DSCF0001.AVI, DSCF0002.AVI и DSCF0003.AVI в результирующий файл DSCF0001-3.mp4 будет выглядеть так:
+
+```
+ffmpeg -f concat -safe 0 -i /tmp/files.txt DSCF0001-3.mp4
+```
+
+Подробнее:
+=> https://trac.ffmpeg.org/wiki/Concatenate FFmpeg wiki: Concatenate
+
+## Вырезание фрагмента видео файла
+
+Довольно часто нужно обрезать видео до момента, когда объект наблюдения полностью покинул кадр. Для этого нужно запомнить до какой секунды требуется оставить исходное видео. Это значение нужно подставить в опцию -to. Например для того, что бы оставить только первые 7 секунд видео нужно выполнить следующую команду:
+
+```
+ffmpeg -i DSCF0005.AVI -to 00:07 DSCF0005.mp4
+```
+
+Бывает и обратная ситуация, когда нужно оставить только конец видео, отбросив начало. Тут снова нужно определить с какой секунды требуется оставить исходное видео. Это значение нужно подставить в опцию -ss. Например для того, что бы отбросить первые 15 секунд видео можно выполнить следующую команду:
+
+```
+ffmpeg -i DSCF0005.AVI -ss 00:15 DSCF0005.mp4
+```
+
+Можно комбинировать опции -to и -ss в одном вызове, что бы вырезать интересующий кусок видео, указав с какой позиции и до какой требуется оставить материал.
+
+Подробнее:
+=> https://ffmpeg.org/ffmpeg.html#Main-options Documentation: 5.4 Main options
+
+## Удаление аудио
+
+В подавляющем большинстве случаев фото-ловушка не фиксирует в звуковых данных ничего интересного. Что бы удалить аудио можно использовать опцию -an, например:
+
+```
+ffmpeg -i DSCF0001.AVI -an DSCF0001.mp4
+```
+
+Подробнее:
+=> https://ffmpeg.org/ffmpeg.html#Audio-Options ffmpeg Documentation: 5.7 Audio Options