Как использовать фильтрацию и потоковое копирование вместе с ffmpeg? - PullRequest
0 голосов
/ 28 ноября 2018
ffmpeg -ss 0 -t 8  -i  input.mp4  -acodec copy -vcodec copy output.mp4

можно установить кодек.Однако для фильтрации:

ffmpeg  -i  input.mp4  -vf  crop=100:100:0:0 output.mp4

, если объединены:

Filtergraph 'crop=100:100:0:0' was defined for video output stream 0:0 but codec copy was selected.
Filtering and streamcopy cannot be used together.

как установить кодек как временной клип?

1 Ответ

0 голосов
/ 28 ноября 2018

Невозможно

Фильтрация требует, чтобы входное видео было полностью декодировано в необработанное видео, затем необработанное видео обрабатывается фильтрами, затем оно кодируется:

 _______              ______________
|       |            |              |
| input |  demuxer   | encoded data |   decoder
| file  | ---------> | packets      | -----+
|_______|            |______________|      |
                                           v
                                       _________
                                      |         |
                                      | decoded |
                                      | frames  |
                                      |_________|
                                           |
                                           v
                                       __________
                                      |          |
                                      | filtered |
                                      | frames   |
                                      |__________|
 ________             ______________       |
|        |           |              |      |
| output | <-------- | encoded data | <----+
| file   |   muxer   | packets      |   encoder
|________|           |______________|

Режим потокового копирования исключает декодирование и кодирование:

 _______              ______________            ________
|       |            |              |          |        |
| input |  demuxer   | encoded data |  muxer   | output |
| file  | ---------> | packets      | -------> | file   |
|_______|            |______________|          |________|

Таким образом, невозможно фильтровать и потоковое копирование одного и того же потока одновременно.Однако вы можете копировать нефильтрованные потоки при фильтрации других.Пример фильтрации видео и потокового копирования аудио:

ffmpeg -i input -filter_complex "[0:v]scale=iw/2:-1[v]" -map "[v]" -map 0:a -c:a copy output

Подробнее см. Документацию ffmpeg .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...