2016-11-17 6 views
1

Я хочу использовать ffprobe для перечисления всех аудиопотоков и отображения того, какой язык используется.Использование ffprobe для просмотра звуковых дорожек с помощью языка

Просто это часть меня, пытаясь найти способы автоматического удаления неанглийских треков из видеофайлов.

Я новичок в ffprobe, но у меня был опыт использования ffmpeg.

Потому что я знаю, что нет гарантии того, какой заказ могут быть на языковых дорожках.

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

Спасибо за ваше время.

+0

Я бы не беспокоить тратить время, спрашивая на StackOverflow. Вы в конечном итоге получите downvoted и голосуете, чтобы закрыть, потому что вопрос не программируется. Это глупо, я знаю, но это случилось со мной. Если вы посмотрите на все новые вопросы ffmpeg на SO, многие из них будут опущены. – BugHunterUK

ответ

3

Выполнение этой команды ffprobe

ffprobe in.mp4 -show_entries stream=index:stream_tags=language -select_streams a -of compact=p=0:nk=1 

будет производить этот выход

1|eng 
2|deu 
3|eng 
4|eng 
5|fre 

Первое значение является абсолютным индексом потока, а второе значение языка присвоенной метки.

Чтобы удалить только и все английские меченые аудиопотоков, запустить

ffmpeg -i in.mp4 -c copy -map 0 -map -0:m:language:eng NoEng.mp4 

Чтобы сохранить только на английском языке маркированные аудиопотоков, запустить

ffmpeg -i in.mp4 -c copy -map 0:v -map 0:m:language:eng OnlyEng.mp4 
+0

Как насчет команды для удаления всех неанглийских звуковых дорожек. – crosenblum

+0

Позвольте мне пояснить, что, если я хочу сохранить английский, но удалить все остальные звуковые дорожки, как мне это сделать? – crosenblum