FFmpeg-ის HTTP პროქსის პარამეტრი მის შეყვანამდე მოდის
გადაეცით 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 ელოდება.
ბრჭყალები, რომლებსაც shell იყენებს URL-ის დასაჯგუფებლად, ProcessBuilder-ის არგუმენტების სიაში ლიტერალურ სიმბოლოებად არ უნდა იქცეს.
HTTP პროქსის პარამეტრი არ არის ზოგადი SOCKS პარამეტრი და არც უკავშირო RTSP/UDP შეყვანას აყენებს. როცა ნაკადი სხვა ტრანსპორტს იყენებს, შეამოწმეთ არჩეული FFmpeg პროტოკოლი და აგების შესაძლებლობები.