вирішуємо проблем-задачі за допомогою ffmpeg

нотатка про те, як ffmpeg дозволяє легко-швидко вирішувати ряд задач на лінуксі

1. зберегти аудіодоріжку з відео

ffmpeg -i input_video.mp4 -vn -acodec libmp3lame -ab 192k output_audio.mp3

2. вирізати з mp3 мета-дані (зображення та текстові мета-теги), залишивши лише mp3, без перекодування

ffmpeg -i input.mp3 -map 0:a -c copy -map_metadata -1 output.mp3

3. стиснути + ресайзити відео, щоб відео менше місця на диску займало

ffmpeg -i input_video.mp4 -vcodec libx264 -crf 28 -s 1280x720 output_video.mp4

тут:
-crf 28 встановлює рівень стиснення
-s 1280x720 встановлює розширення відео

4. обрізати початок відео (зберегти від часової мітки), без перекодування

ffmpeg -i input_video.mp4 -ss 00:03:48.200 -c copy output_video.mp4

5. обрізати закінчення відео (зберегти до часової мітки), без перекодування

ffmpeg -i input_video.mp4 -t 00:05:33.700 -c copy output_video.mp4

6. об'єднати вирізані частини відео в один файл, без перекодування

ffmpeg -f concat -i list.txt -c copy output.mp4

list.txt

file 'part1.mp4'
file 'part2.mp4'

7. витягнути метатеги з відео в txt файл

ffprobe -v quiet -print_format default -show_format -show_streams input.mp4 > metadata.txt

або

ffmpeg -i input.mp4 -f ffmetadata metadata.txt

8. програвання mp3

# тричі відтворити mp3 та закрити вікно
ffplay -loop 3 -autoexit frogs.mp3

# тричі відтворити та завершити програму, без відривання вікна
ffplay -loop 3 -autoexit -nodisp frogs.mp3

# програвати на фоні зациклено
ffplay -loop 0 -nodisp frogs.mp3

-nodisp відтворює лише звук без відкриття графічного вікна - фонове програвання музики
-autoexit не працює з -loop 0 , корисно для скінченого циклу (наприклад, -loop 3),
щоб програма автоматично завершилась після завершення всіх повторів, у режимі нескінченного циклу цей прапорець не має ефекту

поки що, це все :)

Посилання

todo