VideoHelp Forum
+ Reply to Thread
Results 1 to 22 of 22
Thread
  1. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    I have a TV series where at the highest resolution available *some* of the episodes are only available in 60 FPS. When I compress with H.265 those files are larger than the 30 FPS ones with the same compression settings.

    What can be done to remove every other frame without making a mess of it?
    Quote Quote  
  2. Easily done with Avisynth:

    DirectShowSource("My video.mp4")
    ChangeFPS(30)
    Quote Quote  
  3. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    I installed Avisynth and AvsPmod. AvsPmod says the TS file is 29.970 frames per second and plays it at correct speed. MediaInfo says it's 60. PotPlayer plays the video at correct speed.

    How do I tell if it's actually 60FPS or if that's just a glitch with the encoder possibly causing VidCoder to encode every frame twice and make a larger H.265 output? The TS files that MediaInfo says are 60FPS are somewhat larger than the ones it says are 30, but not 2x the size.
    Quote Quote  
  4. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by bizzybody View Post
    I installed Avisynth and AvsPmod. AvsPmod says the TS file is 29.970 frames per second and plays it at correct speed. MediaInfo says it's 60. PotPlayer plays the video at correct speed.

    How do I tell if it's actually 60FPS or if that's just a glitch with the encoder possibly causing VidCoder to encode every frame twice and make a larger H.265 output? The TS files that MediaInfo says are 60FPS are somewhat larger than the ones it says are 30, but not 2x the size.
    Open the file with Mediainfo, text view, and paste it into the thread here
    Quote Quote  
  5. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    General
    ID : 1 (0x1)
    Complete name : K:\TV Shows\<clip show name>1280x720-5218K.ts
    Format : MPEG-TS
    File size : 542 MiB
    Duration : 24 min 2 s
    Overall bit rate mode : Variable
    Overall bit rate : 3 152 kb/s

    Video
    ID : 258 (0x102)
    Menu ID : 1 (0x1)
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L3.2
    Format settings : CABAC / 4 Ref Frames
    Format settings, CABAC : Yes
    Format settings, Reference frames : 4 frames
    Codec ID : 27
    Duration : 24 min 2 s
    Bit rate mode : Variable
    Maximum bit rate : 12.0 Mb/s
    Width : 1 280 pixels
    Height : 720 pixels
    Display aspect ratio : 16:9
    Frame rate : 60.000 FPS
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Color range : Limited
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    Audio
    ID : 257 (0x101)
    Menu ID : 1 (0x1)
    Format : AAC LC SBR
    Format/Info : Advanced Audio Codec Low Complexity with Spectral Band Replication
    Commercial name : HE-AAC
    Format version : Version 4
    Format settings : Implicit
    Muxing mode : ADTS
    Codec ID : 15-2
    Duration : 24 min 2 s
    Bit rate mode : Variable
    Channel(s) : 2 channels
    Channel layout : L R
    Sampling rate : 48.0 kHz
    Frame rate : 23.438 FPS (2048 SPF)
    Compression mode : Lossy

    Text
    ID : 258 (0x102)-CC1
    Menu ID : 1 (0x1)
    Format : EIA-608
    Muxing mode : SCTE 128 / DTVCC Transport
    Muxing mode, more info : Muxed in Video #1
    Duration : 24 min 2 s
    Bit rate mode : Constant
    Stream size : 0.00 Byte (0%)
    CaptionServiceName : CC1

    Menu
    ID : 256 (0x100)
    Menu ID : 1 (0x1)
    List : 257 (0x101) (AAC) / 258 (0x102) (AVC) / 259 (0x103) ()
    Quote Quote  
  6. Try my clever-FFmpeg-GUI. Load your file, Main, Modify video stream, continue, set FPS to 29.97, set the encoder and his settings, leave the rest as is, click convert.
    Then click on multiplex, set the new created file al video source, your original file as audio source, set the desired audio language and click multiplex. Done.
    Quote Quote  
  7. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    Originally Posted by ProWo View Post
    Try my clever-FFmpeg-GUI. Load your file, Main, Modify video stream, continue, set FPS to 29.97, set the encoder and his settings, leave the rest as is, click convert.
    Then click on multiplex, set the new created file al video source, your original file as audio source, set the desired audio language and click multiplex. Done.
    What shows up on Main is Extract with a button for audio stream, Modify with buttons for audio stream and cut, Multiplex with a button labeled multiplex, and Other with buttons for change source folder and change language.

    Nothing for video with this TS source file.
    Quote Quote  
  8. Originally Posted by bizzybody View Post
    What shows up on Main is Extract with a button for audio stream, Modify with buttons for audio stream and cut, Multiplex with a button labeled multiplex, and Other with buttons for change source folder and change language.
    Nothing for video with this TS source file.
    Cut a sample of 10sec and post it here for analysis.
    ffmepg. exe -t 10 -i "your.ts" -map 0 -c copy sample.ts
    Last edited by ProWo; 14th Oct 2020 at 08:11.
    Quote Quote  
  9. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    In an elevated cmd window I go to the folder where the .ts file is, I enter the command, with the your.ts replaced with the proper file name between the quotes. ffmpeg.exe is in the same folder.

    I get this

    'ffmepg.exe' is not recognized as an internal or external command,
    operable program or batch file.

    But if I just enter ffmpeg or ffmpeg.exe on its own I get the command list. #$^#$ing stupid Windows.

    ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
    built with gcc 10.2.1 (GCC) 20200726
    configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
    libavutil 56. 51.100 / 56. 51.100
    libavcodec 58. 91.100 / 58. 91.100
    libavformat 58. 45.100 / 58. 45.100
    libavdevice 58. 10.100 / 58. 10.100
    libavfilter 7. 85.100 / 7. 85.100
    libswscale 5. 7.100 / 5. 7.100
    libswresample 3. 7.100 / 3. 7.100
    libpostproc 55. 7.100 / 55. 7.100
    Hyper fast Audio and Video encoder
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

    Use -h to get full help or, even better, run 'man ffmpeg'
    Quote Quote  
  10. Originally Posted by bizzybody View Post
    In an elevated cmd window I go to the folder where the .ts file is, I enter the command, with the your.ts replaced with the proper file name between the quotes. ffmpeg.exe is in the same folder.

    I get this

    'ffmepg.exe' is not recognized as an internal or external command,
    It was a typo. Retry with ffmpeg.exe -t 10 -i "your.ts" -map 0 -c copy sample.ts
    Quote Quote  
  11. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    Originally Posted by ProWo View Post
    Originally Posted by bizzybody View Post
    In an elevated cmd window I go to the folder where the .ts file is, I enter the command, with the your.ts replaced with the proper file name between the quotes. ffmpeg.exe is in the same folder.

    I get this

    'ffmepg.exe' is not recognized as an internal or external command,
    It was a typo. Retry with ffmpeg.exe -t 10 -i "your.ts" -map 0 -c copy sample.ts
    That's exactly the same command string you posted before. ;P I copied and pasted both to a text file to compare.
    Quote Quote  
  12. The first command was ffmepg.exe...
    Quote Quote  
  13. Originally Posted by bizzybody View Post
    Originally Posted by ProWo View Post
    Originally Posted by bizzybody View Post
    In an elevated cmd window I go to the folder where the .ts file is, I enter the command, with the your.ts replaced with the proper file name between the quotes. ffmpeg.exe is in the same folder.

    I get this

    'ffmepg.exe' is not recognized as an internal or external command,
    It was a typo. Retry with ffmpeg.exe -t 10 -i "your.ts" -map 0 -c copy sample.ts
    That's exactly the same command string you posted before.
    No, it's not. The first version transposed letters (ffmepg vs ffmpeg) had a space between ffmpeg. and exe. The new version doesn't.
    Last edited by jagabo; 14th Oct 2020 at 10:33.
    Quote Quote  
  14. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    Here's a sample
    Image Attached Files
    Quote Quote  
  15. Originally Posted by bizzybody View Post
    Here's a sample
    Best is to leave it at 60fps and just re-encode to hevc. You can save 3/4 space. Take a look at my sample.
    You can use FFmpeg-GUI for this. Download the latest beta version, it fixes the bug you reported.
    https://files.videohelp.com/u/292773/clever_ffmpeg_gui_newest_beta.7z
    Image Attached Files
    Quote Quote  
  16. Transport streams can be difficult. And this one is unusual. The clip is ~10 seconds long and according to ffprobe there are 301 frames (consistent with ~30 fps). Every player I tried played it at 29.97 fps. But it's a film source with duplicates. So it should be decimated back to 23.976 fps:

    Code:
    ffmpeg -i input.ts -vf "fieldmatch=order=tff,decimate=cycle=5:" -c:v libx264 -c:a copy output.mp4
    Image Attached Files
    Quote Quote  
  17. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    Would be nice to know what software is being used to do the original encoding, and why some episodes are being erroneously tagged as 60 fps yet play correctly.
    Quote Quote  
  18. Member
    Join Date
    Apr 2007
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo View Post
    Transport streams can be difficult. And this one is unusual. The clip is ~10 seconds long and according to ffprobe there are 301 frames (consistent with ~30 fps). Every player I tried played it at 29.97 fps. But it's a film source with duplicates. So it should be decimated back to 23.976 fps:

    Code:
    ffmpeg -i input.ts -vf "fieldmatch=order=tff,decimate=cycle=5:" -c:v libx264 -c:a copy output.mp4
    That works. Ran the full file with that then encoded to H.265 with VidCoder, same settings. Looks as good to me, quite a bit smaller than running the original TS through.
    Quote Quote  
  19. Originally Posted by bizzybody View Post
    That works. Ran the full file with that then encoded to H.265 with VidCoder, same settings. Looks as good to me, quite a bit smaller than running the original TS through.
    So you have encoded your video twice...
    Quote Quote  
  20. Originally Posted by jagabo View Post
    Transport streams can be difficult. And this one is unusual. The clip is ~10 seconds long and according to ffprobe there are 301 frames (consistent with ~30 fps). Every player I tried played it at 29.97 fps. But it's a film source with duplicates. So it should be decimated back to 23.976 fps:

    Code:
    ffmpeg -i input.ts -vf "fieldmatch=order=tff,decimate=cycle=5:" -c:v libx264 -c:a copy output.mp4
    Good hint, Jagabo
    Quote Quote  
  21. I still don't understand the TS file though. It has 301 frames and each frame is marked to display for 1/60 second. And the timestamps for each frame increments by 1/60 second with each frame. That would make the video 5 seconds long, not 10 seconds. But when played by media players the frames display at 29.97 fps for 10 seconds. There must be something else in the transport stream data that tells the players to play the video at 29.97 fps. Or maybe ffprobe is just calculating incorrectly.
    Quote Quote  
  22. VirtualDub has the option also (Video -> Frame Rate...)
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!