С нами с 28.06.08
Сообщения: 100
Рейтинг: 85
|
Добавлено: 02/03/17 в 13:04 |
Здравствуйте, не могу понять как работает ffmpeg blackdetect и добиться от него удаление всех черных сцен и затемненых переходов.
Мне нужно максимально найти все темные сцены и затемненые переходы. Если лишнее режется не страшно. Хотя при перевой комманде иногда режется странно. Может быть синтаксис поправить, так до сих пор и не понял толком для чего нужны pic_th pix_th. Доки читал.
Код: [развернуть] |
ffmpeg -i video.mp4 -vf blackdetect=d=0.01:pic_th=1:pix_th=1 -an -f null - 2> black.txt
|
А эта команда находит меньше.
Код: [развернуть] |
ffprobe -f lavfi -i "movie=video.mp4,blackdetect[out0]" -show_entries tags=lavfi.black_start,lavfi.black_end -of default=nw=1 -v quiet > black.txt
|
Это тоже пробовал, результат как 2
https://pyscenedetect.readthedocs.io/en/latest/download/
|
|
|
|
С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032
|
Добавлено: 02/03/17 в 13:39 |
pic_th = нижняя граница для доли "черных" пикселов. Если доля "черных" не меньше pic_th, картинка считается черной. По умолчанию 0.98. В твоей первой команде pic_th=1, т.е. картинка считалась черной только если абсолютно все пискелы "черные".
pix_th = верхняя граница яркости для "черных" пикселов от 0 до 1. По умолчанию 0.1. В твоей первой команде pix_th=1, т.е. пиксел любой якрости будет считаться черным.
Пробуй:
pic_th от 0.5 и выше
pix_th от 0.3 и ниже.
|
|
apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only
|
5
|
|
|
С нами с 28.06.08
Сообщения: 100
Рейтинг: 85
|
Добавлено: 02/03/17 в 14:12 |
Спасибо , надо потестировать.
Еще один вопрос, удобнее конечно так, но как передать параметры???
blackdetect=d=0.01:pic_th=1:pix_th=1
В этом коде, если добавлять, то с ошибкой вываливается
Код: [развернуть] | ffprobe -f lavfi -i "movie=video.mp4,blackdetect[out0]" -show_entries tags=lavfi.black_start,lavfi.black_end -of default=nw=1 -v quiet > black.txt |
|
|
|
|
С нами с 28.06.08
Сообщения: 100
Рейтинг: 85
|
Добавлено: 03/03/17 в 23:27 |
Кому пригодится может быть. В общем, по результатам всех тестов выиграл. Хз почему
Код: |
ffmpeg -i video.mp4 -vf blackdetect=d=0.01:pic_th=1:pix_th=1 -an -f null - 2> black.txt
|
Но иногда вырезает сцену полностью нормальную.
Сделал так: Сначала проверяем есть ли переходы и черные сцены этой командой.
Код: |
ffmpeg -i video.mp4 -vf blackdetect=d=0.01:pic_th=1:pix_th=1 -an -f null - 2> black.txt
|
Если есть, то запускаем, до тех пор пока список не будет пуст, с условием, что если сцена больше 2 секунд, то ее откладываем, а потом, после резки добавляем.
Код: |
ffmpeg -i video.mp4 -vf blackdetect=d=0.01:pic_th=1:pix_th=1 -an -f null - 2> black.txt
|
А потом иногда еще разок прогоняется первой командой.
Получается шикандос. Все лишнее убирается.
Спасибо еще раз johndoe2 за разъяснения.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |