वीडियो ffmpeg को परिवर्तित नहीं कर सकता


9

मेरे पास एक बिटमैप है जिसे मैं कई वीडियो के सामने शीर्षक स्क्रीन या अस्वीकरण स्क्रीन के रूप में संक्षिप्त करना चाहूंगा।

मैं इसे बाकी वीडियो के समान विशेषताओं के साथ वीडियो में बदलने का प्रयास करता हूं। तो सबसे पहले मैं वीडियो को आत्मनिरीक्षण करता हूं:

ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr 11 2014 22:50:38 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libavresample   1.  2.  0 /  1.  2.  0
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'EO1.mp4':
  Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
creation_time   : 1970-01-01 00:00:00
encoder         : Lavf52.78.3
  Duration: 00:00:17.77, start: 0.000000, bitrate: 582 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 584x328 [SAR 1:1 DAR 73:41], 512 kb/s, 23.98 fps, 23.98 tbr, 1199 tbn, 47.96 tbc (default)
Metadata:
  creation_time   : 1970-01-01 00:00:00
  handler_name    : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 64 kb/s (default)
Metadata:
  creation_time   : 1970-01-01 00:00:00
  handler_name    : SoundHandler

फिर मैं कोशिश करता हूं और एक समान फाइल बनाता हूं:

/usr/local/Cellar/ffmpeg/2.2.1/bin/ffmpeg -y -loop 1 -i अस्वीकरण। png -c: v libx264 -r 23.98 -t 5 -pix_ftt yuv420p -profile: v मुख्य अस्वीकरण.mp4

यह ठीक काम करने लगता है। वीडियो मैं इसे करने के लिए उम्मीद करता है निभाता है। विशेषताएँ बहुत समान हैं। यहाँ एक अलग है:

< Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'disclaimer.mp4':
---
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'EO1.mp4':
18,20c18,21
<     encoder         : Lavf55.33.100
<   Duration: 00:00:05.01, start: 0.000000, bitrate: 21 kb/s
<     Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 584x328 [SAR 1:1 DAR 73:41], 17 kb/s, 23.98 fps, 23.98 tbr, 19184 tbn, 47.96 tbc (default)
---
>     creation_time   : 1970-01-01 00:00:00
>     encoder         : Lavf52.78.3
>   Duration: 00:00:17.77, start: 0.000000, bitrate: 582 kb/s
>     Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 584x328 [SAR 1:1 DAR 73:41], 512 kb/s, 23.98 fps, 23.98 tbr, 1199 tbn, 47.96 tbc (default)
21a23
22a25,28
>     Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 64 kb/s (default)
>     Metadata:
>       handler_name    : SoundHandler

लेकिन जब मैं सहमति बनाने की कोशिश करता हूं, मुझे त्रुटियां मिलती हैं।

> $ cat temporary.txt 

    file disclaimer.mp4
    file EO1.mp4

[concat @ 0x7fd880806600] Estimating duration from bitrate, this may be inaccurate
Input #0, concat, from 'temporary.txt':
  Duration: 00:00:00.02, start: 0.000000, bitrate: 17 kb/s
Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 584x328 [SAR 1:1 DAR 73:41], 17 kb/s, 23.98 fps, 23.98 tbr, 19184 tbn, 47.96 tbc
Output #0, mp4, to 'output.mp4':
  Metadata:
encoder         : Lavf55.33.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 584x328 [SAR 1:1 DAR 73:41], q=2-31, 17 kb/s, 23.98 fps, 19184 tbn, 19184 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x7fd880829a00] Non-monotonous DTS in output stream 0:0; previous: 93600, current: 5951; changing to 93601. This may result in incorrect timestamps in the output file.
[concat @ 0x7fd880806600] Invalid stream index 1
[mp4 @ 0x7fd880829a00] Non-monotonous DTS in output stream 0:0; previous: 93601, current: 6001; changing to 93602. This may result in incorrect timestamps in the output file.
[concat @ 0x7fd880806600] Invalid stream index 1
[mp4 @ 0x7fd880829a00] Non-monotonous DTS in output stream 0:0; previous: 93602, current: 6051; changing to 93603. This may result in incorrect timestamps in the output file.

...

frame=  546 fps=0.0 q=-1.0 Lsize=    1127kB time=00:00:04.90 bitrate=1882.9kbits/s    
video:1123kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead 0.349865%

आउटपुट ऐसा लगता है कि इसमें केवल मेरा अस्वीकरण फ़ाइल है, बाकी वीडियो नहीं।

मैं भी उलझन में हूं कि ऐसा क्यों लगता है कि इसे कुछ भी "अनुमान" करने की आवश्यकता है। यह इनपुट एफपीएस और इनपुट अवधि को जानता है। मुझे यकीन नहीं है कि यह समस्या है या नहीं। शायद इसका सिर्फ एक बग।

मेरा दूसरा विकल्प "कॉन्फैट फिल्टर" का उपयोग करना है लेकिन यह एक हानिरहित ट्रांसकोड है, है ना? मुझे लगता है कि दूसरा वीडियो कॉन्सेप्टेशन के बाद वैसा ही होगा जैसा पहले था।

संपादित करें: अंत में "प्रोटोकॉल" की कोशिश कर रहा है जो तीसरा विकल्प है। डॉक्स इसके उपयोग को हतोत्साहित करता है लेकिन इसने अन्य दो (कॉनैट डिमॉक्सर और कॉनैट फिल्टर) की तुलना में बेहतर काम किया।


1
जिज्ञासु- आपके निर्माण का समय 1970 क्यों दिखा रहा है?
राजीब

ध्यान दें कि -r 23.98आप के बजाय का उपयोग करना चाहिए -r 24000/1001या -r ntsc-film(जब तक कि अन्य वीडियो के साथ बनाया गया था -r 23.98)। यह वर्तमान समस्या को हल नहीं कर सकता है।
०१

यदि आप अपने स्वयं के निर्माण का उपयोग कर रहे हैं, तो आप एक और महत्वपूर्ण संस्करण बनाने की कोशिश कर सकते हैं ...
174140

जवाबों:


1

मुझे पता है कि यह शायद वह उत्तर नहीं है जिसे आप ढूंढ रहे हैं लेकिन ऐसा करने के लिए वीडियो एडिटिंग सॉफ़्टवेयर का उपयोग क्यों न करें? वीडियो संपादन विभिन्न फ्रेम दर, कोडेक्स आदि ले सकता है और उन्हें लक्ष्य प्रारूप में संयोजित कर सकता है और यह साधारण सॉफ्टवेयर द्वारा चलाया जा सकता है। यदि आपको वीडियो के एक समूह में अस्वीकरण जोड़ने की आवश्यकता है, तो कई कार्यक्रम बैच मोड प्रदान करते हैं।

मुक्त स्रोत वीडियो संपादक और मालिकाना हैं। मुझे लगता है कि आप जो कर रहे हैं, वह उस तरीके से बाहर है, जिसके लिए कॉन्टेनेट बनाया गया था, जो मूल रूप से एक ही प्रकार और प्रारूप की फ़ाइलों को मिलाता है।


0

दो वीडियो बिल्कुल समान कोडिंग होने चाहिए, जहां तक ​​फ्रेम स्केल साइज, एस्पेक्ट रेश्यो, फ्रेम्स प्रति सेकंड और बिटरेट का संबंध है।

ERrightSofts Super (c) कनवर्टर का उपयोग करने का प्रयास करें। यह ffmpeg के लिए एक बहुत व्यापक GUI है। इसमें "MediaInfo" भी अंतर्निहित है, इसलिए आप अपनी फिल्मों को देखने के लिए देख सकते हैं कि क्या वे बिल्कुल समान हैं।

लेखक जीयूआई को छोड़कर लेखकों का दावा नहीं करते हैं और एफएफएमईजी आदि को पूरा श्रेय देते हैं।

यह वही करना चाहिए जो आपको चाहिए और बहुत कुछ, बहुत अधिक, यह फ्रीवेयर है।

मैंने व्यक्तिगत रूप से इसका उपयोग फाइलों में शामिल होने, वीडियो या ऑडियो निकालने, वीडियो को विभिन्न स्वरूपों में फिर से जोड़ने के लिए किया है। नाम सुपर कहता है और यह है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.