Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.

Почему ffmpeg всегда скидывает в лог параметры коммандной строки?

Какая то ужасно неуклюжая отладка ffmpeg в php через shell_exec.

Простой рабочий код копирования mp3

FFREPORT=file=ff%t.log:level=16 ffmpeg -y -i '/tmp/phpuloL1U'    -acodec copy '/home/test.mp3' &


Работает. Код дебага level=16 означает скидывать лог в случае ошибки. Можно сделать вообще level=0, но чтож такое то! Эта зараза в любом случае мне скидывает логи с параметрами командной строки:


Command line:
ffmpeg -y -i /tmp/phpuloL1U -acodec copy /home/test.mp3


Почему?как?зачем?

Если добавляю это >/dev/null 2>/dev/null чтобы stdout выключить, то в лог пишется тож самое да еще и почему то:
/tmp/phpuloL1U: No such file or directory

Что с этой ерундой то делать всей?
  • Вопрос задан
  • 693 просмотра
Решения вопроса 1
@monah_tuk
Только писать BugReport:
idx = locate_option(argc, argv, options, "report");
    if ((env = getenv("FFREPORT")) || idx) {
        init_report(env);
        // Код ниже сбрасывает параметры командной строки невзирая ни на что. Главное что бы файл смог открыться
        if (report_file) {
            int i;
            fprintf(report_file, "Command line:\n");
            for (i = 0; i < argc; i++) {
                dump_argument(argv[i]);
                fputc(i < argc - 1 ? ' ' : '\n', report_file);
            }
            fflush(report_file);
        }
    }


Исправление тоже достаточно простое:
if (report_file && report_file_level)

так что можете сами пересобрать.

С другой стороны, если вы не собираетесь логировать вообще, то зачем передавать файл для репорта?

Это ответ на вопросы: "почему?" и "как?"

Ответ на вопрос: "зачем?" - репорт изначально задумывался как фича, полезная в разруливании некоторых багов. Их просят прикладывать к отчётам, что бы при этом не засирался выхлоп на экран. Так что это фича была больше для разработчиков. То, что пользователи используют инструмент не так, как задумывалось... Ну за всех думу не передумаешь :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vilgeforce
Раздолбай и программист
Может у него в исходниках так прописано: всегда в лог параметры комстроки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
07 мая 2024, в 17:22
140000 руб./за проект
07 мая 2024, в 17:11
2000 руб./за проект
07 мая 2024, в 17:06
10000 руб./за проект