The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск мультимедиа-пакета FFmpeg 3.1, opennews (ok), 27-Июн-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


8. "Выпуск мультимедиа-пакета FFmpeg 3.1"  +11 +/
Сообщение от Аноним (-), 27-Июн-16, 12:22 
команды ffmpeg и man ffmpeg - самые переносимые и самые гибкие.
перекодировка сначала отрабатывается на куске файла (опции -ss и -t, использовать перед -i), команда корректируется в какомнить .sh-файле, после чего -ss и -t убираются и перекодировывается вся вещь.
в качестве краткого ликбеза вот пример команды:
ffmpeg -i входнойфайл -map 0:v -map 0:a:1 -map 0:s:0 -f matroska -s 720x406 -c:v libx264 -threads:v 2 -c:a:0 libmp3lame -threads:a:0 1 -c:s:0 copy out.mkv
это значит:
1. -map: из файла "входнойфайл" (первый файл - индекс 0 в -map) взять видеопоток (0:v), второй аудиопоток (0:a:1) и первый поток субтитров (0:s:0);
2. -f: закодировать це всё в матрёшку (mkv);
3. -s: разрешение итогового видео;
4. -c: кодировщики: закодировать видеопоток кодеком libx264, выполнять двумя потоками (-threads:v 2), закодировать первый аудиопоток выходного файла (он был вторым во входном файле, но -map 0:a:1 было первым аудиопотоком, поэтому в выходном файле он первый) кодеком libmp3lame, выполнять в один поток; субтитры - скопировать;
5. результат записать в out.mkv.
как-то так.
интерфейс понятен как интеллектуально - через ман, - так и интуитивно - интуиция подсказывает, что команды надо как-то ввести. скорее всего с клавиатуры.
лучше всяких визивигов и прочих мелкомягких плюшек.
поэтому как-то так...
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

11. "Выпуск мультимедиа-пакета FFmpeg 3.1"  +/
Сообщение от Аноним (-), 27-Июн-16, 13:50 
>2. -f: закодировать це всё в матрёшку (mkv);

зачем это нужно, если формат контейнера и так определится по расширению?

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск мультимедиа-пакета FFmpeg 3.1"  +/
Сообщение от 5kbps (ok), 27-Июн-16, 14:24 
На случай, если расширение другое.
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск мультимедиа-пакета FFmpeg 3.1"  +5 +/
Сообщение от Аноним (-), 27-Июн-16, 14:24 
на практике это можно не использовать, но в христоматийном примере оно должно фигурировать - ради пущей определённости.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

21. "Выпуск мультимедиа-пакета FFmpeg 3.1"  +/
Сообщение от robux (ok), 27-Июн-16, 19:21 
> команды ffmpeg и man ffmpeg - самые переносимые и самые гибкие.

Я уже пытался использовать "голый" ffmpeg.

Если в лине ещё можно поток (pipe) выдёргивать прямо из консоли и в ruby его читать, то винде такое невозможно (ведь я прав, да?). Т.е. первая проблема при съёме данных с камеры и микрофона в винде и передачи их в Пандору.

Вторая грабля - это то, что полученные с другой стороны медиа-данные (видео, аудио, либо оба сразу в "матрёшке") можно раздемуксить и декодировать, но нельзя вывалить видео в нужное мне окошко (аудио поток можно пулять сразу на устройство).

Я эту проблему пытался решить пару лет назад (https://www.linux.org.ru/forum/development/10645570), в итоге родилось костыльное решение:
1) медиа-поток(и) с камеры и микрофона из ffmpeg'а вываливать на локальный udp-порт
2) снимать с локального udp Пандорой и посылать другой строне
3) другая сторона принимает поток, запускает свой mplayer и говорит ему в какое окно пулять видео (xid одного из окон Пандоры).

Костыльно, но по идее должно работать, я эксперименты в лине проводил, но так и не проверил в винде - может ли виндовый mplayer выводить в указанное виндовое окошко).

Мне не нравится, что придётся плодить udp-потоки. Всё-таки хотелось бы как-то напрямую:
1) брать в винде данные;
2) выводить видео во внутреннее окно.
Но такого фреймворка (кроме сговнявшегося Гстримера) я пока найти не могу.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

29. "Выпуск мультимедиа-пакета FFmpeg 3.1"  –3 +/
Сообщение от Аноним (-), 27-Июн-16, 23:03 
> Если в лине ещё можно поток (pipe) выдёргивать прямо из консоли и в ruby его читать, то винде такое невозможно (ведь я прав, да?).

Пайпы и возможность гонять произвольные данные через стандартные потоки ввода-вывода в винде есть. Умеют ли это виндовые сборки Ruby и ffmpeg -- вопрос отдельный.

Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск мультимедиа-пакета FFmpeg 3.1"  +/
Сообщение от dq0s4y71 (??), 29-Июн-16, 16:38 
> Если в лине ещё можно поток (pipe) выдёргивать прямо из консоли и
> в ruby его читать, то винде такое невозможно (ведь я прав,
> да?). Т.е. первая проблема при съёме данных с камеры и микрофона
> в винде и передачи их в Пандору.

А что, в винде  "ffmpeg ... -" не работает?

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру