Как написать эту команду ffmpeg в Python - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть потоковые ссылки m3u8 (одна для видео и одна для аудио), которые я хочу объединить.

Я выполняю эту командную строку для этого:

ffmpeg  -i <audio> -i <video? -async 1 -c copy output.mp4

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

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Запуск кода без перехвата отображаемого текста

import os
os.system("ffmpeg -i <audio> -i <video> -async 1 -c copy output.mp4")

подпроцесс имеет различные методы

import subprocess

subprocess.run("ffmpeg -i <audio> -i <video> -async 1 -c copy output.mp4", shell=True)

subprocess.run( ["ffmpeg", "-i", "<audio>", "-i", "<video>", "-async", "1", "-c", "copy", "output.mp4"] )

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

0 голосов
/ 08 апреля 2019

Я использовал предложенный код furas, и он работал:

import os
import pandas as pd 

D=pd.read_excel("links.xlsx");


for i in range(len(D.index)):
    video=D.iat[i,0]
    audio=D.iat[i,1]
    command='ffmpeg  -i '+audio+' -i '+video+' -async 1 -c copy '+str(i)+'.mp4'
    os.system(command)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...