पृष्ठभूमि
FFmpeg libx265 के साथ 2014-2-12 के बाद HEVC / H.265 को एन्कोडिंग का समर्थन करता है। अब आप ffmpeg का उपयोग सीधे HEVC को एनकोड करने के लिए कर सकते हैं या फिर दूसरे एनकोडर का उपयोग कर सकते हैं, फिर मैन्युअल रूप से mmp .mp4, .mov, या। Fkmpeg का उपयोग करके।
उपलब्ध एनकोडर
वर्तमान H.265 / HEVC एनकोडर हैं:
केवल मल्टीकोरवेयर और डिवएक्स को उनके विकास के समय और विश्वसनीयता के कारण सुझाया गया है।
दो x265 का
एक भ्रम यह है कि "x265" नाम की दो स्वतंत्र परियोजनाएं हैं, एक चीनी कॉलेज के छात्र द्वारा और एक व्यावहारिक रूप से मृत है, और दूसरी एक मल्टीकोरवेयर नामक वाणिज्यिक कंपनी द्वारा। यद्यपि पहले पहले शुरू हुआ था, अब यह व्यावहारिक रूप से मर चुका है, और बाद वाला सक्रिय विकास के अधीन है और वीडियोलैन (x264 के डेवलपर) द्वारा समर्थित है।
FFmpeg HEVC एन्कोडिंग समर्थन की समयरेखा
- 2013-10-12 .Mov muxing समर्थन में जोड़ा गया
53f903b
।
- 2014-02-12 libx265 एन्कोडिंग समर्थन में जोड़ा गया
bb6b173
।
- 2014-03-09 HEVC के लिए और अधिक पूर्ण Matroska muxing समर्थन जोड़ा गया
38aee64
।
- 2014-03-09 अधिक पूर्ण .Mov और नया .mp4 muxing समर्थन में जोड़ा गया
9563e67
।
tl; डॉ
वैसे भी, ये मेरी अनुशंसा के क्रम में HEVC को एन्कोडिंग की वर्तमान संभावनाओं का एक पूरा सेट हैं:
सीधे FFmpeg के साथ MulticoreWare libx265 का उपयोग कर रहा है। इसका मतलब है नवीनतम ज़ेरानो बिल्ड के साथ आप अब ऐसा कर सकते हैं:
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mov
# With audio
ffmpeg -i INPUT -c:v libx265 -c:a copy -x265-params crf=25 OUT.mov
नोट: FFmpeg 2014-03-09 की तुलना में नया निर्माण करता है। आप HEVC को .mp4 फाइलों में अब (9563,000 कमिट) करने की अनुमति देता है:
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mp4
आप इसे मट्रोस्का (.mkv) में भी देख सकते हैं:
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mkv
स्टैंडअलोन मल्टीकोरवेयर x265 का उपयोग करना और फिर परिणामस्वरूप फ़ाइल को FFmpeg या MP4Box के साथ मक्स करें । यह पुराने FFmpeg बिल्ड के साथ काम करेगा जिसमें libx265 सपोर्ट नहीं है।
# Decode input using FFmpeg and encode using x265 using pipe
ffmpeg -i INPUT -f yuv4mpegpipe -pix_fmt yuv420p - | \
x265 --y4m -o encoded.265 -
# Mux the resulting encoded .265 file into an .mp4 or .mov
# Using ffmpeg: only works with newer builds that support muxing HEVC
# Muxing to .mp4 supported since 03-09-2014
ffmpeg -i encoded.265 -c copy out.mp4
# With audio
ffmpeg -i encoded.265 -i INPUT -map 0 -map 1:a -c copy out.mp4
# Using MP4Box
MP4Box -add raw.265 out.mp4
# With audio
MP4Box -add {INPUT}#audio -add raw.265 out.mp4
@Duvrai को धन्यवाद।
डिवएक्स HEVC एनकोडर का उपयोग करना और फिर इसे mux करना।
इसका उपयोग करने का तरीका स्टैंडअलोन x265 (ऊपर देखें) का उपयोग करने के समान है।
अपडेट: FFmpeg में अब मल्टीकोरवेयर libx265 का उपयोग करके HEVC एन्कोडिंग समर्थन है।
अद्यतन 2: FFmpeg के पास अब mp4 और mov में HEVC का समर्थन करने के लिए समर्थन है ।
crf=25
उदाहरण कमांड में प्रतिनिधित्व नहीं करते हैं, उनके लिए यहां CRF गाइड है: slhck.info/articles/crf