2013-03-05 7 views
6

पर आने वाले कोडेक एएसी के साथ ffmpeg का उपयोग करके बिल्कुल 1 सेकंड क्लिप प्राप्त करने का कोई तरीका है यदि मेरे पास एक वीडियो स्ट्रीम और ऑडियो स्ट्रीम के साथ .mp4 फ़ाइल है। मैं च मैं इस आदेश पर अमल: 00:: 00:क्या एएमए

ffmpeg -i input.mp4 -ss 00:00:14.000 -t 00:00:01.000 -vn -c:a libfaac audio.m4a 

परिणाम अवधि है 01.02, शुरू: 0.०,२१,१७९। 00: 00: 01.02, शुरू: 0,000000

ffmpeg -i audio.m4a -ss 00:00:00.000 -t 00:00:01.000 -c:a libfaac audio2.m4a 

इस आदेश का परिणाम अवधि है: मैं बनाना चाहते यकीन है कि शुरू करने का समय 0 पर शुरू होता है तो मैं इसे का उपयोग resample। क्या शुरुआत के लिए 0 मान के साथ अंतिम परिणाम के रूप में बिल्कुल 1 सेकंड प्राप्त करने का कोई तरीका है?

पिछले प्रयासों में मैंने झंडे का उपयोग किया है -मैप 0: 1 -ab 128k -ar 44100 लेकिन यह वही परिणाम प्रदान करता है।

यदि आवश्यकता हो तो मैं ffmpeg से पूरा आउटपुट प्रदान कर सकता हूं।

धन्यवाद।

+0

कुछ सवालों के फ्रेम का चयन करके इस तय: मूल फ़ाइल में ऑडियो नमूना दर क्या है? 44100 या 48000 हर्ट्ज? मूल ऑडियो भी एएसी है? यदि हां, तो क्या आप लापरवाह रिमूक्सिंग के बजाय ऑडियो ट्रांसकोडिंग (जो पीढ़ी के नुकसान का सामना करेंगे) करना चाहते हैं? –

+0

यहां ऑडियो स्ट्रीम जानकारी है: स्ट्रीम # 0: 1 (eng): ऑडियो: एएसी (एमपी 4 ए/0x6134706 डी), 48000 हर्ट्ज, मोनो, फ्लैट, 96 केबी/एस आपके दूसरे प्रश्न के लिए, ऑडियो ट्रांसकोडिंग ठीक होगा । बस 0 के प्रारंभ समय के साथ * बिल्कुल * एक सेकंड अवधि प्राप्त करने की आवश्यकता है। –

उत्तर

0

मैं बजाय

$ ffmpeg -i input.mp4 -ss 14 -frames 46 -vn pass-1.m4a 

$ ffmpeg -i pass-1.m4a -c copy audio.m4a 

परिणाम

 
$ ffmpeg -i audio.m4a 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'audio.m4a': 
    Metadata: 
    major_brand  : M4A 
    minor_version : 512 
    compatible_brands: isomiso2 
    encoder   : Lavf55.1.100 
    Duration: 00:00:01.00, start: 0.000000, bitrate: 135 kb/s 
    Stream #0:0(und): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 
          125 kb/s 
    Metadata: 
     handler_name : SoundHandler