I have had a persistent issue with XmediaRecode, which limits the output resolution of my videos that I am trying to export as m1v format (video only).
In the past I have created 1920 x 1056 videos, with Xmediarecode, but this persistent bug keeps resurfacing in all versions of the software which its beyond frustrating.
Does anyone know if there is other reliable/functional software that will export a video file in m1v format that has controls for the datarate and resolution?
Any help is really appreciated!
+ Reply to Thread
Results 1 to 30 of 35
-
-
Why are you insisting on using m1v (Mpeg1)? this is an old lossy format that is not often used any more.
-
Because in the end, I need to convert the m1v file to .sfd and the tool I have to convert from m1v to sfd will only take .m1v as input. I'm dealing with inserting videos into a video game that is 13 years old. Trust me, I wish I didnt have to , but these are the limitations.
-
I believe that ffmpeg might be the tool for you. A better way to deal with this is to use Avisynth with CropResize script to do the proper resizing and ffmpeg to encode it.
https://forum.videohelp.com/threads/393752-CropResize-Cropping-resizing-script -
Why did you create another thread?
You were already being given info on what to do in the other one.
Scott -
Hi thanks for chiming in. In the other thread I did not ask about other possible software that can get the job done. Also, the info there was inconclusive as to what the XmediaRecode bug was (despite that I logged in many times over several YEARS to try and resolve the issue).
Cheers -
-
Something like:
Code:ffmpeg -i input.mp4 -c:v mpeg1video -an -b:v 30000 output.m1v
-c:v = video codec
-b:v = video bitrate in kbps -
-
ok so now I guess I need some help with the settings of ffmpeg. While it works well i'd like to improve the quality, as it seems a bit pixelated, even at 30000. When I look at the information it shows as 0kbs:
[Attachment 53801 - Click to enlarge]
while comparing it to another video stream created with Xmedia recode which has much better visual fidelity:
[Attachment 53807 - Click to enlarge]
Here is the output of the ffMpeg while converting with a setting of:
Code:ffmpeg.exe -i r229_ev.mp4 -c:v mpeg1video -b:v 30000 r229_ev.m1v ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200523 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-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-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'r229_ev.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42mp41 creation_time : 2019-03-17T20:03:16.000000Z Duration: 00:02:13.89, start: 0.000000, [B] bitrate: 10472 kb/s Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 10153 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default) Metadata: creation_time : 2019-03-17T20:03:16.000000Z handler_name : ?Mainconcept Video Media Handler encoder : AVC Coding Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default) Metadata: creation_time : 2019-03-17T20:03:16.000000Z handler_name : #Mainconcept MP4 Sound Media Handler File 'r229_ev.m1v' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg1video (native)) Press [q] to stop, [?] for help Output #0, mpeg1video, to 'r229_ev.m1v': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42mp41 encoder : Lavf58.29.100 Stream #0:0(eng): Video: mpeg1video, yuv420p, 1280x720, q=2-31, 30 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc (default) Metadata: creation_time : 2019-03-17T20:03:16.000000Z handler_name : ?Mainconcept Video Media Handler encoder : Lavc58.54.100 mpeg1video Side data: cpb: bitrate max/min/avg: 0/0/30000 buffer size: 0 vbv_delay: -1 frame= 4011 fps=384 q=31.0 Lsize= 12775kB time=00:02:13.80 bitrate= 782.1kbits/s speed=12.8x video:12775kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
I did see somewhere in the output bitrate: 10472 kb/s so I am wondering if this is the actual value the video outputted as ? Even if so, the video doesnt seem to look that good.
Any help is appreciated!Last edited by Mr.Curious; 14th Jun 2020 at 18:13.
-
lol the filesizes should give you a clue. the "better" one is 10 times as big. so the other one has 1/10 the bitrate or about 1500kbps. it's crap for anything over 240p.
--
"a lot of people are better dead" - prisoner KSC2-303 -
Oops, I left out the 'k" on the bitrate.
Code:ffmpeg -i input.mp4 -c:v mpeg1video -an -b:v 30000k output.m1v
Code:ffmpeg -? encoder=mpeg1video
Code:Encoder mpeg1video [MPEG-1 video]: General capabilities: delay threads Threading capabilities: slice Supported framerates: 24000/1001 24/1 25/1 30000/1001 30/1 50/1 60000/1001 60/1 15/1 5/1 10/1 12/1 15/1 Supported pixel formats: yuv420p mpeg1video encoder AVOptions: -gop_timecode <string> E..V..... MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start. -intra_vlc <boolean> E..V..... Use MPEG-2 intra VLC table. (default false) -drop_frame_timecode <boolean> E..V..... Timecode is in drop frame format. (default false) -scan_offset <boolean> E..V..... Reserve space for SVCD scan offset user data. (default false) -timecode_frame_start <int64> E..V..... GOP timecode frame start number, in non-drop-frame format (from -1 to I64_MAX) (default -1) -mpv_flags <flags> E..V..... Flags common for all mpegvideo-based encoders. (default 0) skip_rd E..V..... RD optimal MB level residual skipping strict_gop E..V..... Strictly enforce gop size qp_rd E..V..... Use rate distortion optimization for qp selection cbp_rd E..V..... use rate distortion optimization for CBP naq E..V..... normalize adaptive quantization mv0 E..V..... always try a mb with mv=<0,0> -luma_elim_threshold <int> E..V..... single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (from INT_MIN to INT_MAX) (default 0) -chroma_elim_threshold <int> E..V..... single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (from INT_MIN to INT_MAX) (default 0) -quantizer_noise_shaping <int> E..V..... (from 0 to INT_MAX) (default 0) -error_rate <int> E..V..... Simulate errors in the bitstream to test error concealment. (from 0 to INT_MAX) (default 0) -qsquish <float> E..V..... how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (from 0 to 99) (default 0) -rc_qmod_amp <float> E..V..... experimental quantizer modulation (from -FLT_MAX to FLT_MAX) (default 0) -rc_qmod_freq <int> E..V..... experimental quantizer modulation (from INT_MIN to INT_MAX) (default 0) -rc_eq <string> E..V..... Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. -rc_init_cplx <float> E..V..... initial complexity for 1-pass encoding (from -FLT_MAX to FLT_MAX) (default 0) -rc_buf_aggressivity <float> E..V..... currently useless (from -FLT_MAX to FLT_MAX) (default 1) -border_mask <float> E..V..... increase the quantizer for macroblocks close to borders (from -FLT_MAX to FLT_MAX) (default 0) -lmin <int> E..V..... minimum Lagrange factor (VBR) (from 0 to INT_MAX) (default 236) -lmax <int> E..V..... maximum Lagrange factor (VBR) (from 0 to INT_MAX) (default 3658) -ibias <int> E..V..... intra quant bias (from INT_MIN to INT_MAX) (default 999999) -pbias <int> E..V..... inter quant bias (from INT_MIN to INT_MAX) (default 999999) -rc_strategy <int> E..V..... ratecontrol method (from 0 to 1) (default ffmpeg) ffmpeg E..V..... deprecated, does nothing xvid E..V..... deprecated, does nothing -motion_est <int> E..V..... motion estimation algorithm (from 0 to 2) (default epzs) zero E..V..... epzs E..V..... xone E..V..... -force_duplicated_matrix <boolean> E..V..... Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (default false) -b_strategy <int> E..V..... Strategy to choose between I/P/B-frames (from 0 to 2) (default 0) -b_sensitivity <int> E..V..... Adjust sensitivity of b_frame_strategy 1 (from 1 to INT_MAX) (default 40) -brd_scale <int> E..V..... Downscale frames for dynamic B-frame decision (from 0 to 3) (default 0) -skip_threshold <int> E..V..... Frame skip threshold (from INT_MIN to INT_MAX) (default 0) -skip_factor <int> E..V..... Frame skip factor (from INT_MIN to INT_MAX) (default 0) -skip_exp <int> E..V..... Frame skip exponent (from INT_MIN to INT_MAX) (default 0) -skip_cmp <int> E..V..... Frame skip compare function (from INT_MIN to INT_MAX) (default dctmax) sad E..V..... Sum of absolute differences, fast sse E..V..... Sum of squared errors satd E..V..... Sum of absolute Hadamard transformed differences dct E..V..... Sum of absolute DCT transformed differences psnr E..V..... Sum of squared quantization errors, low quality bit E..V..... Number of bits needed for the block rd E..V..... Rate distortion optimal, slow zero E..V..... Zero vsad E..V..... Sum of absolute vertical differences vsse E..V..... Sum of squared vertical differences nsse E..V..... Noise preserving sum of squared differences dct264 E..V..... dctmax E..V..... chroma E..V..... msad E..V..... Sum of absolute differences, median predicted -sc_threshold <int> E..V..... Scene change threshold (from INT_MIN to INT_MAX) (default 0) -noise_reduction <int> E..V..... Noise reduction (from INT_MIN to INT_MAX) (default 0) -mpeg_quant <int> E..V..... Use MPEG quantizers instead of H.263 (from 0 to 1) (default 0) -ps <int> E..V..... RTP payload size in bytes (from INT_MIN to INT_MAX) (default 0) -mepc <int> E..V..... Motion estimation bitrate penalty compensation (1.0 = 256) (from INT_MIN to INT_MAX) (default 256) -mepre <int> E..V..... pre motion estimation (from INT_MIN to INT_MAX) (default 0) -a53cc <boolean> E..V..... Use A53 Closed Captions (if available) (default true)
-
Yes, that is quite evident which the 'better' one is, but if you read the command at the top of the output you'll see that it was set to 30000 and made no difference.
Are you saying ffMpeg is crap for anything over 240p? Im not sure what information you are trying to be helpful with here -
Ha!
it looks MUCH better now that the right command has been entered, however I am still seeing no information in the Bitrate display in my video players. Is this metadata that isnt being written or ? I'd really like to be able to see this information after a file has been written. Ive tired opening it in VLC and SMPlayer and both dont show anything.
-
maybe try again with the "k" suggestion. no all i said was the filesize was wrong for what you wanted.
--
"a lot of people are better dead" - prisoner KSC2-303 -
-
try a video file examiner like MediaInfoXP
--
"a lot of people are better dead" - prisoner KSC2-303 -
ok so using MediainfoXP shows me the following information. I have colorized some of the information I want to focus on:
Code:Format : MPEG Video Format version : Version 1 File size : 91.4 MiB Duration : 2 min 13 s Overall bit rate mode : Variable Overall bit rate : 5 729 kb/s Video Format : MPEG Video Format version : Version 1 Format settings, BVOP : No Format settings, Matrix : Default Format settings, GOP : Variable Duration : 2 min 13 s Bit rate mode : Variable Bit rate : 5 729 kb/s Width : 1 280 pixels Height : 720 pixels Display aspect ratio : 16:9 Frame rate : 29.970 (30000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Compression mode : Lossy Bits/(Pixel*Frame) : 0.207 Time code of first frame : 00:00:00:00 GOP, Open/Closed : Open GOP, Open/Closed of first frame : Closed Stream size : 91.4 MiB (100%)
Cheers, and thanks to everyone who is lending their time to help! -
Most programs show the bitrate that's reported in the container's header. m1v doesn't have that header. Programs will have to check the video's size and divide by the running time. MediaInfo does that for m1v. GSpot will do it too. Mpeg File Bitrate Viewer will parse the entire file and show the bitrate distribution.
Regarding bitrate achieved vs. bitrate requested: if the video doesn't have enough detail the encoder won't be able to reach the requested bitrate. Also, single pass variable bitrate is not very accurate. -
So I guess the bitrate info I was seeing form the m1v clips I made in Xmediarecode were created by that software then? Im not sure why m1v files written with XMediaRecode show this info and ffMpeg does not?
Also, can anyone explain the issue described above why the video is showing in MediainfoXP as being less than 6000kps when it was encoded at 30000kps?
Cheers -
you can't increase the bitrate. if there's only 1.5 mbps to start with you can't increase it with the expectation of increased quality, no matter what you re-encode with, there's nothing to support the extra bitrate. quality can't be increased from thin air...
--
"a lot of people are better dead" - prisoner KSC2-303 -
Really you mean I cant take a 10kps file and upgrade it to 1millionkps like magic? LOL.. Of course you cant, and I wasnt asking to do this. I'm not sure how your comment makes any sense really so I will take the time to explain this better so you understand:
The bitrate that was showed in the output of MediainfoXP (5729 kb/s) was well below that of the original (10154kb/s) despite that the settings were -b:v 30000k in ffMpeg. I may have made a false assumption that setting it higher than the original would have at least preserved the original bitrate, but I could be wrong. Perhaps someone could explain this.
Again, my questions is this: why is the birate of the outtputted m1v file showing as being 5729 kb/s when it was encoded from a video that was 10154kb/s with a setting of -b:v 30000k ?
(there is also an unanswered question about why m1v files encoded with Xmediarecode are showing the bitrate in the video properties while ffMpeg does not show this)Last edited by Mr.Curious; 14th Jun 2020 at 19:06.
-
MPEG-1 is a standard for lossy compression of video and audio. It is designed to compress VHS-quality raw digital video and CD audio down to about 1.5 Mbit/s without excessive quality loss, making video CDs, digital cable/satellite TV and digital audio broadcasting possible.
while it can be used for much larger video, it isn't recommended, used, or tried by those who expect quality video.
--
"a lot of people are better dead" - prisoner KSC2-303 -
-
ok. mpeg-1 sucks. is that any clearer?
--
"a lot of people are better dead" - prisoner KSC2-303 -
-
The question may be simple but the answer is complicated. I'm not familiar enough with MPEG 1 encoding to answer it specifically. But encoders have to work within the paramaters of the codec and the settings used. It's not unsual for encoder to miss the requested bitrate if the target is too high or too low for the particular video. The command line I gave you uses the defaults for most encoder settings. And single pass variable bitrate based encoding is notorious for not meeting the requested bitrate. If you want to force it to deliver higher bitrates play around with the settings. Maybe try 2-pass encoding (I don't know if it's supported). It may be that the mpeg1 encoder in ffmpeg isn't very good and was never optimized for higher frame sizes and bitrates. Or the defauts are for small frame sizes and low bitrates.
You'll have to find someone who's more knowledgeable about MPEG 1 video encoding. -
-
2 pass encoding:
Code:ffmpeg -y -i input.mp4 -an -c:v mpeg1video -b:v 5000k -pass 1 output1.m1v ffmpeg -y -i input.mp4 -an -c:v mpeg1video -b:v 5000k -pass 2 output2.m1v
[Attachment 53811 - Click to enlarge]
But when I asked for 30000 kbps the encoder only delivered 15000 kbps and the two files were nearly identical.
Similar Threads
-
How can I convert a walmart security video .avi(sn40 codex) to normal video
By DrBaheim in forum Newbie / General discussionsReplies: 20Last Post: 14th Jan 2025, 18:58 -
m1v format restricts resolution options.
By Mr.Curious in forum Newbie / General discussionsReplies: 26Last Post: 15th Jun 2020, 00:30 -
Video to Video won't convert full batched files
By technicality1 in forum Video ConversionReplies: 2Last Post: 28th Jan 2017, 04:01 -
Audio pitch after video is convert using handbrake or video coder
By Freelife2345 in forum AudioReplies: 3Last Post: 9th May 2016, 02:33 -
How to convert 15hour ( 30fps ) long video to timelapse video ( 15mins )?
By rplusj1 in forum EditingReplies: 9Last Post: 10th Oct 2015, 18:46