रूपांतरण सेटिंग्स के साथ .MKV to .MP4 में FFMPEG का उपयोग करें


0

मैं एक powershellस्क्रिप्ट का उपयोग कर रहा हूं और फ़ाइलों को फ़ाइलों में ffmpegपरिवर्तित mkvकरने के लिए mp4ताकि मैं serviio स्क्रिप्ट का उपयोग करके उन्हें स्ट्रीम कर सकूं जैसा कि करना चाहिए, लेकिन जब serviioपरिवर्तित फ़ाइलों को मेरी लाइब्रेरी में जोड़ने की कोशिश की जाती है, तो उन्हें जोड़ा नहीं जाता है। अगर मैं लॉग की जाँच करता हूँ तो यह एक त्रुटि दिखाता है

अज्ञात वीडियो कोडेक।

यह वह powershellस्क्रिप्ट है जो मैं फ़ाइलों को परिवर्तित करने के लिए उपयोग कर रहा हूं

$oldvids = Get-ChildItem *.mkv -Recurse #-path 'C:\TestDir'
foreach ($oldvid in $oldvids) 
{
    $newvid = [io.path]::ChangeExtension($oldvid.FullName, '.mp4')
    C:\FFMpeg\bin\ffmpeg.exe -i $oldvid.FullName -y -vcodec copy -acodec ac3 $newvid
}

हाथ में प्रश्न है, मैं फ़ाइलों को फाइलों में powershellबदलने के लिए एक स्क्रिप्ट (यह या एक अलग प्रोग्रामिंग भाषा) का उपयोग कैसे कर सकता हूं ताकि उन्हें स्ट्रीम कर सकें?mkvmp4serviio

EDIT
मैं ऑडियो / वीडियो कोडेक जानकारी प्राप्त करने के लिए GSPOT का उपयोग कर रहा हूं , और नीचे अच्छी सेटिंग्स और खराब सेटिंग्स के स्क्रीनशॉट हैं। मेरे पास एक स्क्रिप्ट कैसे हो सकती है जो उपरोक्त सेटिंग्स को फिर से बना सकती है (जैसा कि मेरा वर्तमान एक काम नहीं करता है)?

(वर्किंग सेटिंग्स) (नॉन-वर्किंग सेटिंग्स) आदर्श रूप से मैं ffmpeg का उपयोग करते समय वर्किंग सेटिंग्स से सेटिंग्स को बदलना चाहूंगा, यदि यह संभव है।
अच्छी सेटिंग्स

खराब सेटिंग्स

EDIT
और यह कमांड चलाने से आउटपुट है

ffmpeg -i good.m4v -i bad.mp4

(फ़ाइल bad.mp4 वह है जो ऊपर की स्क्रिप्ट को कनवर्ट करने के लिए उपयोग की गई थी)

ffmpeg version N-80256-g0a9e781 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nvenc --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-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil      55. 24.100 / 55. 24.100
libavcodec     57. 45.100 / 57. 45.100
libavformat    57. 37.101 / 57. 37.101
libavdevice    57.  0.101 / 57.  0.101
libavfilter     6. 46.101 /  6. 46.101
libswscale      4.  1.100 /  4.  1.100
libswresample   2.  0.101 /  2.  0.101
libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'good.m4v':
Metadata:
  major_brand     : mp42
  minor_version   : 512
  compatible_brands: isomiso2avc1mp41
  creation_time   : 2016-06-23 15:20:11
  encoder         : HandBrake 0.10.5 2016021100
Duration: 00:28:09.31, start: 0.000000, bitrate: 3939 kb/s
  Chapter #0:0: start 0.000000, end 126.167000
Metadata:
  title           : 00:00:00.000
Chapter #0:1: start 126.167000, end 418.918000
Metadata:
  title           : 00:02:06.084
Chapter #0:2: start 418.918000, end 724.974000
Metadata:
  title           : 00:06:58.835
Chapter #0:3: start 724.974000, end 1099.515000
Metadata:
  title           : 00:12:04.891
Chapter #0:4: start 1099.515000, end 1618.950000
Metadata:
  title           : 00:18:19.432
Chapter #0:5: start 1618.950000, end 1689.313000
Metadata:
  title           : 00:26:58.659
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 3772 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 180k tbc (default)
Metadata:
  creation_time   : 2016-06-23 15:20:11
  handler_name    : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
  creation_time   : 2016-06-23 15:20:11
  handler_name    : Stereo
Stream #0:2(eng): Subtitle: mov_text (text / 0x74786574)
Metadata:
  creation_time   : 2016-06-23 15:20:11
  handler_name    : SubtitleHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'bad.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf57.37.101
  Duration: 00:29:21.41, start: 0.000000, bitrate: 2489 kb/s
  Chapter #1:0: start 0.000000, end 182.432000
  Metadata:
    title           : 00:00:00.000
  Chapter #1:1: start 182.432000, end 504.838000
  Metadata:
    title           : 00:03:02.432
  Chapter #1:2: start 504.838000, end 913.329000
  Metadata:
    title           : 00:08:24.838
  Chapter #1:3: start 913.329000, end 1236.110000
  Metadata:
    title           : 00:15:13.329
  Chapter #1:4: start 1236.110000, end 1691.523000
    Metadata:
      title           : 00:20:36.110
  Chapter #1:5: start 1691.523000, end 1761.396000
    Metadata:
      title           : 00:28:11.523
  Stream #1:0(eng): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 2034 kb/s, 23.98 fps, 23.98 tbr, 16k tbn, 23.98 tbc (default)
  Metadata:
    handler_name    : VideoHandler
  Stream #1:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Side data:
    audio service type: main
   Stream #1:2(eng): Subtitle: mov_text (text / 0x74786574)
   Metadata:
    handler_name    : SubtitleHandler
  At least one output file must be specified

कृपया उस फ़ाइल के बारे में कुछ जानकारी दिखाएं जो काम करती है और वह फ़ाइल जो काम नहीं करती है। आप ffprobeइस जानकारी को प्राप्त करने के लिए उपयोग कर सकते हैं :ffprobe -show_streams -show_format input.mkv
llogan

@LordNeckbeard - यह महत्वपूर्ण मात्रा में डेटा का उत्पादन करता है। क्या कोई विशेष तत्व हैं जिन्हें आपको देखने या संपूर्ण आउटपुट की आवश्यकता है?
user2676140

वैकल्पिक रूप से आप का पूरा आउटपुट दिखा सकते हैं ffmpeg -i good -i bad। यदि हमें अधिक जानकारी की आवश्यकता है तो आप बड़े ffprobeआउटपुट प्रदान कर सकते हैं ।
ललगन

@LordNeckbeard - संपादन देखें, मेरा मानना ​​है कि यह वह आउटपुट है जिसकी आपको आवश्यकता है।
user2676140

मुझे लगता है कि यह H.265 / HEVC का समर्थन नहीं करता है जो bad.mp4इसमें शामिल है। (ध्यान दें कि मुझे नहीं पता कि क्या serviioहै या क्या है)।
ललगन

जवाबों:


0

@LordNeckbeard की सहायता के लिए धन्यवाद मुझे पता चला कि मुझे अपनी .mkvफ़ाइलों को परिवर्तित करने के लिए जिस प्रारूप की आवश्यकता थीH.264

तो मेरी वर्तमान powershellस्क्रिप्ट का एक सरल संपादन यह उपाय कर सकता है और उचित के साथ परिवर्तित कर सकता हैcodec

यह स्क्रिप्ट काम करती है:

$oldvids = Get-ChildItem *.mkv -Recurse #-path 'C:\TestDir'
foreach ($oldvid in $oldvids) 
{
  $newvid = [io.path]::ChangeExtension($oldvid.FullName, '.mp4')
  C:\FFMpeg\bin\ffmpeg.exe -i $oldvid.FullName -y -vcodec libx264 -acodec ac3 $newvid
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.