ffmpeg - MP4 के लिए MOV फ़ाइलों को परिवर्तित [बंद]


145

मैंने अभी-अभी ffmpeg स्थापित किया है और मैं अपने सभी अपलोड किए गए वीडियो को .mp4 फ़ाइल में एन्कोड करने का प्रयास कर रहा हूं। अधिकांश उपयोगकर्ता वर्तमान में अपलोड करते हैं .Mov और मैं हर वीडियो को .mp4 में बदलना चाहते हैं।

मैं निम्नानुसार कमांड चला रहा हूं:

ffmpeg -i movie.mov -vcodec copy -acodec cop out.mp4

लेकिन मुझे जो कुछ भी मिल रहा है वह निम्नलिखित त्रुटियां हैं

ffmpeg version 0.8.5, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 19 2012 11:38:20 with clang 3.1 (tags/Apple/clang-318.0.61)
  configuration: --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libxvid --enable-libx264 --enable-libvpx --enable-hardcoded-tables --enable-shared --enable-pthreads --disable-indevs --cc=clang
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2012-03-28 07:13:20
  Duration: 00:00:26.23, start: 0.000000, bitrate: 12974 kb/s
    Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720 [PAR 72:72 DAR 16:9], 12972 kb/s, 11.67 fps, 600 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2012-03-28 07:13:20
File 'out.mp4' already exists. Overwrite ? [y/N] y
Output #0, mp4, to 'out.mp4':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2012-03-28 07:13:20
    encoder         : Lavf53.4.0
    Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720 [PAR 72:72 DAR 16:9], q=2-31, 12972 kb/s, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2012-03-28 07:13:20
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
frame=  121 fps=  0 q=-1.0 size=   16408kB time=00:00:10.08 bitrate=13332.2kbitsframe=  306 fps=  0 q=-1.0 Lsize=   41543kB time=00:00:26.12 bitrate=13025.0kbits/s    
video:41538kB audio:0kB global headers:0kB muxing overhead 0.012531%

क्या आप सुनिश्चित हैं कि ये त्रुटियां हैं? यह मुझे लॉग फ़ाइल की तरह अधिक लगता है। यह पिछले mp4 को अधिलेखित करने के लिए भी कहता है: फ़ाइल 'out.mp4' पहले से मौजूद है। ओवरराइट करें? [y / N] y
कॉनराड लोट्ज़

सुपरयूजर में भी ऐसा ही सवाल
लेजेंड्स 2k

जवाबों:


254

बस कुछ नए अनुप्रयोगों (mp4) के लिए इसे स्ट्रीम करने के लिए कमांड की आवश्यकता होती है जैसे Adobe Premiere Pro बिना एन्कोडिंग (फास्ट) के है:

ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4

टिप्पणियों में उल्लिखित वैकल्पिक , जो सर्वश्रेष्ठ quaility ( -qscale 0) के साथ फिर से एनकोड करता है :

ffmpeg -i input.mov -q:v 0 output.mp4

70
चूंकि यह खोज परिणामों में बदल जाता है, मैं लिखने के लिए ffmpeg के लिए अद्यतन कमांड ffmpeg -i input.mov -qscale 0 output.mp4
जोड़ूंगा

14
@StudioEvoque -qscale 0झंडा क्या करता है?
साइबरस्कुल

4
@CyberSkull -qscaleसंपीड़न स्तर सेट करता है। क्यूसेल वैल्यू जितनी कम होगी, क्वालिटी उतनी ही बेहतर होगी। उपलब्ध qscale मान 1 (उच्चतम गुणवत्ता) से लेकर 31 (न्यूनतम गुणवत्ता) तक हैं।
RonnyKnoxville

8
@MiguelBartelsman @Baodad एक कंटेनर कई वीडियो और ऑडियो स्ट्रीम को पैकेज करता है, एक हेडर और एक टेबल-इन-कंटेंट जोड़ता है। Quicktime (mov) और MPEG (mp4) कंटेनर तकनीकी रूप से काफी अलग हैं। यदि आप mp4 में सिर्फ एक क्विकटाइम फ़ाइल का नाम बदलते हैं, तो आप इसे एमपीईजी वीडियो होने का दिखावा करते हैं, लेकिन यह अभी भी एक क्विकटाइम कंटेनर है। कृपया ध्यान दें: चूंकि आप copyकोडेक पैरामीटर के लिए उपयोग करते हैं , आप वास्तविक मीडिया डेटा को कॉपी करने के लिए FFMpeg को किसी अन्य कोडेक में फिर से कोडिंग के बिना बताते हैं।
इचथियो

10
@StudioEvoque सावधान रहें! यहाँ आप जो प्रस्ताव दे रहे हैं , वह ओपी की तुलना में कुछ अलग है और शायद चाहता था। आप एक कोडेक युक्ति नहीं देते हैं, इस प्रकार आप MP4- कंटेनर के साथ जुड़े के लिए मानक कोडेक में वास्तविक मीडिया डेटा ट्रांसकोड करने के लिए FFMpeg पूछते हैं । यहां तक ​​कि अगर आप सबसे अच्छी गुणवत्ता सेटिंग्स का उपयोग करते हैं, तो ट्रांसकोडिंग हमेशा कुछ गुणवत्ता को ढीला करेगा। जब आप उपयोग करते हैं तो केवल -c copyयह सुनिश्चित करते हैं कि मूल मीडिया डेटा को छुआ नहीं गया है, केवल कंटेनर बदल गया है
इचथियो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.