টিএস থেকে এইচ .264 ভিডিও এমপি 4 এ অনুলিপি করা ফ্রেমের হার এবং সময়কে পরিবর্তন করে


10

আমার কাছে বড় MPEG-TS ফাইল রয়েছে যা আমি নীচের কমান্ডটি ব্যবহার করে এমপি 4 তে রূপান্তর করছি am আমি যদি এমপি 4 এবং টিএস ফাইল উভয় ক্ষেত্রে ভিডিওটিতে একই সময় সন্ধান করি তবে এমপি 4 টিএস ফাইলের পিছনে কয়েকটি ফ্রেম হবে। এটি আমি যে ভিডিওতে চেয়েছি তা ধীরে ধীরে আরও খারাপ হয়ে যায়।

c:\>ffmpeg -y -r 30 -i full-ts.ts -c:v copy -r 30 -an full.mp4
ffmpeg version N-69040-gb23a866 Copyright (c) 2000-2015 the FFmpeg developers
  built on Jan 12 2015 22:02:37 with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
  libavutil      54. 16.100 / 54. 16.100
  libavcodec     56. 20.100 / 56. 20.100
  libavformat    56. 18.101 / 56. 18.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5.  7.100 /  5.  7.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mpegts, from 'full-ts.ts':
  Duration: 00:11:25.75, start: 1.424000, bitrate: 3407 kb/s
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn, 60 tbc
    Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 125 kb/s
Output #0, mp4, to 'full.mp4':
  Metadata:
    encoder         : Lavf56.18.101
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbr, 15360 tbn, 30 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=20419 fps=0.0 q=-1.0 Lsize=  251660kB time=00:11:25.59 bitrate=3007.0kbits/s
video:251446kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.084929%

আউটপুট প্রবাহে টিবিএন এত বড় কেন আমি বিভ্রান্ত। আমি -কপিটস, -কপিটবি, সমস্ত -vsynch অপশন চেষ্টা করে দেখেছি, তবে এমপি 4 এর সাথে মেলে দেখার জন্য সময় পাব না। এছাড়াও, এমপি 4 29.78 এর ফ্রেম রেট দেখায়, অন্যদিকে টিএস ফাইলটি ffprobe ব্যবহার করে 30/1 শক্ত হয়।

ffprobe -v error -of flat=s=_ -select_streams v:0 -show_entries stream=avg_frame_rate full.mp4
streams_stream_0_avg_frame_rate="5227264/175529"

ffprobe -v error -of flat=s=_ -select_streams v:0 -show_entries stream=avg_frame_rate full-ts.ts
programs_program_0_streams_stream_0_avg_frame_rate="30/1"
streams_stream_0_avg_frame_rate="30/1" 

কোনও ধারণা কীভাবে আমি উভয় পাত্রে একই ফ্রেম দেখানোর জন্য সন্ধান করতে পারি? সাহায্য করুন!


1
আপনি যদি ইনপুট সরান তবে কি হবে -r 30? যাইহোক এর কারণ কী? এছাড়াও, আপনি স্ট্রিম অনুলিপি মোড সক্ষম করেন -c:v copyযার অর্থ আউটপুট -r 30উপেক্ষা করা হবে।
লগন

@ লর্ডনেকবার্ড - এটি আউটপুটে কয়েকটি জিনিস পরিবর্তন করে তবে আমার কাছে এখনও অনুসন্ধানের বিষয়টি রয়েছে। লগটি দেখুন @ gist.github.com/andypryor/3b1f123b4c8d6ed3975c , -r 30 ব্যাখ্যা করার জন্য ধন্যবাদ, আমি এর ব্যবহারকে ভুল বুঝেছি, ভেবেছিলাম এমপি 4 ফ্রেম রেট জোর করে দিতে পারি।
অ্যান্ডি

1
যেমনটি আমি এটি বুঝতে পারি, এমপি 4 পৃথক ফ্রেমের মধ্যে কেবলমাত্র সময়, কোথাও ফ্রেমরেট সঞ্চয় করে না। সুতরাং ffprobe প্রথম কয়েকটি ফ্রেমের ফ্রেমের সময়গুলি দেখে এবং ভিডিওটির বাকি অংশগুলি একই বলে ধরে নেয়। যদিও আসলে আপনার সমস্যাটি সমাধান করার জন্য আমার কাছে কোনও ধারণা নেই ideas এমপি 4বক্সের মতো, ffmpeg ব্যতীত অন্য কিছু চেষ্টা করুন। এমনকি কোনও .mkv- তে এম কে ভিভার্মসও দেখুন এটি কোনও অন্যরকমভাবে কাজ করে কিনা। (এবং সম্ভবত এমপি 4 ব্যতীত অন্য কিছুতে এফএফপিজেগ ম্যাক্সিংয়ের চেষ্টা করুন f এফএফপিপিগের এমপি 4 মিক্সারটি নিখুঁত নাও হতে পারে))
পিটার

স্ট্যান্ডার্ড ভিডিও ফ্রেমের হার 29.97, যদি আপনি 30fps এ রূপান্তর করেন তবে আপনি অবশেষে ড্রিফ্ট দেখতে পাবেন: ফিল্মডোক্টর.नेट
চিৎকারের ড্রিলস

আউটপুট স্ট্রিমের টিবিএন খুব ছোট 15 কে। এটি 90k হওয়া উচিত। মনে হচ্ছে অডিও স্ট্রিমটি বাতিল করা সমস্যার উত্স।
দিমিত্রি পোডবোরস্কি

উত্তর:


3

এখানে একটি মন্তব্য হিসাবে, -r পতাকাটি সরানোর জন্য এটি সঠিকভাবে করা উচিত। আপনার কাছে ইনপুটটির জন্য অন্য-আর পতাকা রয়েছে। উভয়টিকে সরান, এবং এটি স্ট্রিমটিকে নতুন ধারক হিসাবে যথাযথভাবে অনুলিপি করা উচিত; আপনার সেই-অন (অডিও অক্ষম করুন) স্যুইচটিও সরিয়ে ফেলতে হবে। আমি এ বিষয়ে নিশ্চিত নই:

ffmpeg -y -i full-ts.ts -c:v copy full.mp4

যদি এটি ব্যর্থ হয় তবে এখানে একটি মন্তব্য হিসাবেও, আপনি একটি ভিন্ন আউটপুট ধারক বিন্যাস চেষ্টা করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.