Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как конвертировать звуковую дорожку в фильме ?  (Прочитано 45852 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Пользователь

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 2700
  • Runtu XFCE 18.04 (64-bit)
    • Просмотр профиля
Так я же для примера только написал, а не для твоего случая.

Я не видел вывод ffmpeg -i файл, а без него не получится команду составить (наугад не хочется).

Даже если получится компьютерные плееры дадут выбрать дорожку, а у хардварного все зависит от его возможностей (может воспроизведет первую попавшуюся, или даст выбрать) - нужно документацию к устройству читать.

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
Я не видел вывод ffmpeg -i файл
Input #0, avi, from 'Cranford.avi':
  Metadata:
    encoder         : FairUse Wizard - http://fairusewizard.com
  Duration: 00:58:16.88, start: 0.000000, bitrate: 1675 kb/s
    Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 704x384 [PAR 1:1 DAR 11:6], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0.2: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
At least one output file must be specified

------

Интересно было бы узнать, как включить обе дорожки в файл.
« Последнее редактирование: 03 Августа 2013, 16:17:01 от Adriano »
Kubuntu 22
adri-an.livejournal.com

Оффлайн Пользователь

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 2700
  • Runtu XFCE 18.04 (64-bit)
    • Просмотр профиля
ffmpeg -i Cranford_2.avi -map 0:0 -map 0:1 -map 0:2 -vcodec copy -acodec libmp3lame -ar 44100 -ac 2 -ab 192k cranford_2_mp.avi

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
Тоже не то, к сожалению. Пишет:

Input #0, avi, from 'Cranford_2.avi':
  Metadata:
    encoder         : FairUse Wizard - http://fairusewizard.com
  Duration: 00:58:23.40, start: 0.000000, bitrate: 1672 kb/s
    Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 704x384 [PAR 1:1 DAR 11:6], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0.2: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Number of stream maps must match number of output streams

-----------

Я уже пробовал так.
Когда пишешь как сейчас: -map 0:0 -map 0:1 -map 0:2 , то выдаёт вот такое сообщение, как выше. Число потоков не соответствует, что ли.

Когда пишешь, как в прошлый раз -map 0:0 -map 0:1 , то берёт только 1-ую звуковую дорожку. Непонятно. Может быть ещё какой-то параметр надо подправить?

Пользователь решил продолжить мысль 03 Августа 2013, 16:56:14:
Даже если получится компьютерные плееры дадут выбрать дорожку, а у хардварного все зависит от его возможностей (может воспроизведет первую попавшуюся, или даст выбрать) - нужно документацию к устройству читать.
Мой hardware плеер (или, может быть, лучше сказать -- плеер в ТВ-тюнере) выбирает. Проверено. И аудиодорожки, и субтитры .srt .
« Последнее редактирование: 03 Августа 2013, 17:02:29 от Adriano »
Kubuntu 22
adri-an.livejournal.com

Оффлайн Пользователь

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 2700
  • Runtu XFCE 18.04 (64-bit)
    • Просмотр профиля
ffmpeg -i Cranford_2.avi -map 0:0 -map 0:1 -map 0:2 -vcodec copy -acodec libmp3lame -ar 44100 -ac 2 -ab 192k cranford_2_mp.mkv
попробуй так, и попробуй воспроизвести на компьютерном плеере, потом отпишись о результате

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
Компьютер после ввода этой команды выдаёт ту же ошибку:

Number of stream maps must match number of output streams
Kubuntu 22
adri-an.livejournal.com

Оффлайн Пользователь

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 2700
  • Runtu XFCE 18.04 (64-bit)
    • Просмотр профиля
Не знаю почему выходит такая ошибка, писал как указано в документации к ffmpeg
http://www.ffmpeg.org/ffmpeg.html#Advanced-options

Пользователь решил продолжить мысль 04 Августа 2013, 14:34:37:
Возможно эта функция в последней версии ffmpeg работает, надо проверять.

« Последнее редактирование: 04 Августа 2013, 14:34:37 от Пользователь »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
Покопался и я в описаниях команд (или ключей? флагов? Как правильно?) к ffmpeg и разобрался, как правильно надо было написать. Конечно за это время :) можно было уже 150 раз под Виндой в PocketDivxEncoder'e перекодировать, но хочется же понять как это в Ubuntu делается. Чтобы не бегать туда-сюда.

Чтобы добавить ещё одну звуковую дорожку того же формата, надо писать -newaudio. И обязательно после имени итогового файла.

Такой командой я копирую видео и изменяю 1-ую и 2-ую звуковые дорожки с АС3 на МР3.
ffmpeg -i Cranford.avi -map 0:0 -vcodec copy -map 0:1 -acodec libmp3lame -ab 192k cranford_3_mp.avi -map 0:2 -acodec libmp3lame -ab 192k -newaudio
Kubuntu 22
adri-an.livejournal.com

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Adriano,
Естественно, если вы хотите прошить в файл ещё одну дорожку, не разобрав его предварительно на запчасти, то такое сообщение и будет вылазить...

1. Демультиплексируем видео файл в папку.
2. Кодируем одну из его аудио дорожек из одного формата в другой, в эту же папку.
3. При сборке (мультиплексации) указываем эту новую дорожку, как новый поток - новую карту потока.
4. Собираем (мультиплексируем)
В этом случае не нужно будет указывать опцию < -newaudio >.. Весь прикол работы с мультимедиа заключается в том, что всегда можно попробовать другой метод, если первый не сработал.. Для этого нужно знать некоторые принципы построения файлов мультимедиа - например то, что неразобранный файл имеет в заголовке перечень всех существующих в нём потоков и лишний поток воспринимается, как "чужой" "не в списке". А при разборке файла и последующей его сборке - этот заголовок переписывается по новой, с учётом новых стримов, если они указаны...

Не даром говорят - лень, движетель прогресса... Для ленящихся разбирать-собирать (демультиплексировать-мультиплексировать) файлы, видимо и создали этот ключик - < -newaudio > ;)
« Последнее редактирование: 05 Августа 2013, 14:46:20 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
1. Демультиплексируем видео файл в папку.
Позвольте поинтересоваться, а как именно это делается?


Пользователь решил продолжить мысль 05 Августа 2013, 21:04:31:
mencoder "/.../.../input_video" -ovc lavc -oac mp3lame -lavcopts autoaspect -lameopts vbr=2    -o "/.../.../output_video", например.

Попробовал я теперь и настройками MEncoder'a позаниматься. Вот так получается лучше и быстрее (чем в процитированном выше примере):

mencoder Cranford.avi -ovc copy -oac mp3lame -lameopts cbr:br=192 -o Cranford_mp.avi
Источник: https://help.ubuntu.ru/wiki/mencoder#mp3_-lameopts
« Последнее редактирование: 05 Августа 2013, 21:06:41 от Adriano »
Kubuntu 22
adri-an.livejournal.com

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
1. Демультиплексируем видео файл в папку.
Позвольте поинтересоваться, а как именно это делается?

https://help.ubuntu.ru/wiki/ffmpeg - бошая часть работы с FFmpeg показана здесь, включая основные принципы демультиплексации...

Пользователь решил продолжить мысль 05 Августа 2013, 23:45:14:

Попробовал я теперь и настройками MEncoder'a позаниматься. Вот так получается лучше и быстрее (чем в процитированном выше примере):
На счёт быстрее, может быть.. А на счёт "лучше" - это всё очень спорно и относительно...
Ни когда не нужно фиксироваться на одной утилите... То что умеет одна утиль, может не уметь другая - и наоборот, - с этой точки зрения пытаться утверждать что лучше, а что хуже, - это тоже самое что утверждения в споре о том, что было раньше - курица или яйцо :)
По моему спор о "яйце и курице" - это очень глупый и беспочвенный спор, - и как следствие, недальновидный подход к делу...
« Последнее редактирование: 05 Августа 2013, 23:49:54 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
Цитировать
Ни когда не нужно фиксироваться на одной утилите... То что умеет одна утиль, может не уметь другая - и наоборот
Вот я и не останавливаюсь на одной. Поэкспериментировал с ffmpeg, попробовал mencoder.

Под словом "лучше" я имел в виду, что mencoder с такими ключами лучше обработал фильм, чем mencoder же с ключами, процитированными выше. С ffmpeg сравнения не было (если вы об этом подумали). 

И спасибо за объяснения.
Kubuntu 22
adri-an.livejournal.com

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Adriano,
mplayer -frames 1 video.mkvпокажи
Wars ~.o

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Adriano,
mencoder вряд ли можно расценивать как замену ffmpeg. функциональность у mencoder заметно ниже и уже и синтаксис у него немного странный.
если исходить только из того, что какую то одну из операций mencoder выполняет быстрее чем другие утили - то это в общем то не очень веский перевес в сторону мэна... например - я не тороплюсь ни куда - и создавать "кашу опций" в голове, аж от двух кодировщиков, ради того, что бы выиграть минут 15 - смысла не вижу...

всё расчитывается согласно целям и намерениям... если вам нужна несколько углубленная работа с мультимедиа - то это ffmpeg... а если вам нужно просто откодировать ролик в x264 для ютуба например, или мобильника - то можно и menoder...

а на деле, как показала практика, для более или менее полноценной работы с видео нужно как минимум программы три - в моём случае это avidemux, ffmpeg и dvd-styler + в сети бродят слухи, что сообщество Linux портировало на свою платформу avisinth, что является не плохим довеском для всего вышеперечисленного... хотя сложность будет заключаться в плагинах для ависинф, часть из которых придётся искать в исходниках и компилировать под Linux...
« Последнее редактирование: 06 Августа 2013, 12:57:38 от archiver »

Оффлайн Adriano

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
  • Че
    • Просмотр профиля
archiver, и ещё отдельное большое спасибо, что в своём сообщении хорошо расписали, чем в Ubuntu пользоваться для обработки видео. Теперь буду знать.

Программа Avidemux есть Qt и GTK. Вы каким вариантом пользуетесь? Есть ли разница?



Пользователь решил продолжить мысль 06 Августа 2013, 14:53:49:
Adriano,
mplayer -frames 1 video.mkvпокажи
Не совсем понимаю, что показать? Информацию о своём фильме, выведенную с такими ключами?
Там много чего на экран выводится...

Вот:

mplayer -frames 1 Cranford.avi
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 07 Августа 2013, 10:43:26 от Adriano »
Kubuntu 22
adri-an.livejournal.com

 

Страница сгенерирована за 0.044 секунд. Запросов: 25.