Η επιλογή διαμεσολαβητή HTTP του FFmpeg προηγείται της εισόδου του
Πέρασε το http_proxy ως επιλογή πρωτοκόλλου εισόδου και διατήρησε ξεχωριστά ορίσματα επιλογής και τιμής όταν μια εφαρμογή Java εκκινεί το FFmpeg.
Για μια είσοδο FFmpeg που τη χειρίζεται το πρωτόκολλο HTTP, τοποθέτησε την επιλογή διαμεσολαβητή πριν από αυτή την είσοδο:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
Το -http_proxy επιλέγει τον μεσολαβητή για τη σύνδεση HTTP της εισόδου· ένα τελικό σημείο από τη λίστα διαμεσολαβητών HTTP είναι υποψήφιο για δημόσια διαδρομή πολυμέσων. Το -i εξακολουθεί να ονομάζει τον πόρο πολυμέσων. Η επιλογή copy αφορά τις ροές εξόδου και δεν ρυθμίζει τη διαδρομή δικτύου.
Και στη Java κράτησε την επιλογή και το URL ως ξεχωριστά ορίσματα διεργασίας:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
Ένα περιτύλιγμα που εκθέτει πρόσθετα ορίσματα χρειάζεται την ίδια διάκριση δύο διακριτικών. Ένα μόνο αλφαριθμητικό που περιέχει και το -http_proxy και την τιμή του δεν είναι το ζεύγος επιλογής και τιμής που περιμένει το FFmpeg.
Τα εισαγωγικά που χρησιμοποιεί ένα κέλυφος για να ομαδοποιήσει ένα URL δεν πρέπει να γίνουν κυριολεκτικοί χαρακτήρες στη λίστα ορισμάτων του ProcessBuilder.
Η επιλογή διαμεσολαβητή HTTP δεν είναι γενική ρύθμιση SOCKS ούτε ρυθμίζει μια άσχετη είσοδο RTSP/UDP. Έλεγξε το επιλεγμένο πρωτόκολλο του FFmpeg και τις δυνατότητες κατασκευής όταν μια ροή χρησιμοποιεί άλλο μεταφορέα.