Ich muss eine Reihe von Videos im Stapel verarbeiten, um ihre Höhe auf 240 zu skalieren, wobei das Seitenverhältnis gleich bleibt. Der Befehl, der den Job bekommt fast getan ist:Fehler beim Skalieren eines Videos mit libav-Filtern
$ avconv -threads 4 -ss 0.0 -i input.avi \
-map 0:0,0:0 -map 0:1,0:1 -vf "scale=-1:240" -y -f mpegts \
-async -1 -vcodec libx264 -vcodec libx264 -flags2 +fast \
-flags +loop -g 30 -bufsize 1024k \
-b 200k -bt 220k -qmax 48 -qmin 2 -r 20 -acodec libmp3lame \
-ab 44k -ar 44100 -ac 2 output.ts
Der interessante Teil, wie Sie sehen können, ist -vf "scale=-1:240"
Dies funktioniert auf Videos, wo die skalierte Ausgabebreite eine gerade Zahl zu sein, stellt sich heraus, . Andernfalls erhalte ich folgende Fehlermeldung:
[libx264 @ 0x7fc4f8821e00] width not divisible by 2 (341x240)
Wie überwinde ich das?
Edit: Wie pro link, versuchte ich mit , die einen Film ausgibt, aber die resultierende Videoqualität ist wirklich schlecht.
Bearbeiten # 2: Dies ist kein Duplikat, wie es falsch markiert ist. Diese Frage wurde viel früher als die andere gestellt.
Wie für das Duplikat es nicht wirklich wichtig, die Frage älter ist. In der Regel wird die Frage mit weniger Stimmen als Duplikat markiert. – LordNeckbeard
@LordNeckbeard Das macht auch Sinn, widerspricht aber der eigenen Definition von SO in der obigen Box, insbesondere - "als Duplikat markiert ... Diese Frage wurde bereits gestellt und hat bereits eine Antwort". –
Ja, diese Frage wurde schon mehrmals von mehreren Benutzern gestellt. Darüber zu streiten, wer zuerst ist, ist Zeitverschwendung. Die Lösung ist für alle gleich: Als Nebeneffekt werden einige unabhängig von der zeitlichen Reihenfolge als Duplikate markiert. Noch wichtiger: 1) Menschen suchen nicht, bevor sie Fragen stellen. 2) Leute fragen nach Themen, die nichts mit Programmierung zu tun haben: Stack Overflow ist nur für Programmierfragen gedacht. – LordNeckbeard