Ffmpeg ignore errors I've done quite extensive search online, but so far I haven't been able to find a solution. I'm running a command in FFMPEG that uses as input a stream video (Boroscope IP stream) and transform it to an . I converted them to . ts' -map 0:2 -map 0:3 -map 0:10 -vcodec copy -acodec copy -scodec copy xx. txt file and removes every line that refers to a nonexisting file; That way, ffmpeg will be able to correct open every specified input file. mkv and the output is [concat @ 0x7b53638000] Line 1: unknown keyword 'file' /path/to/mylist. mp4 save the full path name) Obs. FLV recorded from web cameras. When I ran this command the output to the console still had the DTS errors, however, my output video contained the entire input video rather than just the first frame. The command I first tried was ffmpeg -i MIE. mkv -vcodec copy test. I found this brilliant example on how to hide the errors. Pass brings a higher level of security with battle-tested end-to-end encryption of all data and metadata, plus hide-my-email alias support. Proton Pass is a free and open-source password manager from the scientists behind Proton Mail, the world's largest encrypted email service. To ignore this, add a trailing '?' to the map. I think they come from FFMpeg. This is useful if you want to analyze the content of a video and thus switches than -err_detect ignore_err to use to help ffmpeg ignore live stream errors while hls stream transcoding on the fly. com>: > Hi all, just wondering if anyone knows of any other switches to > Ignore live streaming source stream errors to help On Mon, May 22, 2017 at 12:31 AM, James Carter <matrixebiz at gmail. I have a beefy server with 32 GB of ram and plenty of CPUs doing the processing, but still the stream errors out from time to time. This > > ffmpeg -err_detect ignore -i "myvideo. Commented Sep 18 Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company Visit the blog One way to hide ffmpeg errors is by redirecting sterr elsewhere. -n is a global option. I don't think it's a duplicate because his issue was ffmpeg quitting during the but it removes the damaged sections. mp3 -f null out. Input #0, ogg, from 'clinician. webm, in which mylist. Possible workaround: Maybe creating multiple output files using the "ss" parameter and merging them later. txt -c:v libvpx-vp9 -c:a libopus output. int av_strerror (int errnum, : char * errbuf, : size_t errbuf_size : Put a description of the AVERROR code errnum in errbuf. ogg as FFMPEG didn't want to combine two . And to ignore this, you need to add a trailing question mark to the map I have an ffmpeg process which saves a stream from wowza server, but when the stream in wowza is interrupted for a second or so sometimes ffmpeg cycles in: [segment @ 0x671a10] st:0 PTS: 9600015 D if %%~j GTR 349 (case true ffmpeg transcode file mp4) else (case false skip this file . Stack Overflow. mp4" -err_detect ignore_err -c:a aac -ar 48000 -ab 64k >-s 720x480 -vcodec libx264 -hls_time 240 myvideo. If you want to avoid re-encoding and just re-mux instead then use -c:a copy instead of -c:a libmp3lame. So if you skip a frame, it is probable that many trailing decoded frames won't contain correct result (until next key frame flushes whole FFMPEG: FFMPEG output all the status text (what you see when you run it manually on the command line) on the stderr interface. both videos began life as . Even with the errors, the video was encoded. com>: > Hi all, just wondering if anyone knows of any other switches to > Ignore live streaming source stream errors to help ffmpeg not try > and correct them which seems to cause ffmpeg to not do a good > job with this which causes output issues? Did you provide a sample? Please avoid top-posting here, Carl I have several videos which produce reading errors in ffmpeg, thus hindering me to play them in VLC (for example). This may not at all detect bitrot in your collection. This works fine for files that have cover images, files that don't throw the error: Output #1 does not contain any stream. mp4 -b:a 192K -vn music2. I've got some code that outputs rawvideo to ffmpeg via pipe, which then overlays a png over it. So - what's wrong with my parameters and what am I doing to cause these FFMPEG errors? EDIT: ffmpeg -i clinician. Any additional information: The errors i get are: ffmpeg: [decklink @ 0x26cc600] There are not enough buffered video frames. Exiting. The check is supposed to catch duplicate filter invocations for the same output stream, e. -map -v Then, ignore all video streams including cover art. – Brian. FLV files. Yes, after recompiling ffmpeg, you can execute ffmpeg -protocols and make sure that https is listed there. I should also specify, I'm running these commands in Windows using the latest version of Zeranoe FFMPEG. org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link 2017-05-25 14:55 GMT+02:00 James Carter <matrixebiz at gmail. packet_length -1908511255 at:5053740 [asf @ 0x600059480] ff asf bad header d4 at:5053759 [asf @ 0x600059480] ff asf skip 55629 (unknown stream) [asf If you run this command on a video WITHOUT audio, there will be an error: Stream map '0:a:0' matches no streams. -Groove On Apr 16, 2014, at 8:39 AM, Nicolas George [via FFmpeg-users] <ml-node+s933282n4664793h96 at n4. FFmpeg command line arguments are position sensitive, so maybe you are not adding them in the right position. ogg . These are errors after which the process absolutely cannot continue after. You can avoid the MJPEG cover art by using properly ordered selective mapping:-map 0 -map -v -map V What this does:-map 0 Map all streams from input 0 (which is the first input per ffmpeg command). If the code exits with an error, ffmpeg keeps going forever, I don't know how to stop it :( Any ideas I haven't tried the IF statement, however I've made enough progress. 168. My argument is that if ignore-video-errors is on, then video "errors" are actually warnings and there are no "errors" (because they are ignored). Ask Question Asked 10 years, 9 months ago. Please someone help me with this. com> wrote: > 2017-05-25 14:55 GMT+02:00 James Carter <matrixebiz at gmail. This means software you are free to modify and distribute, such as applications licensed under the GNU General Public License, BSD license, MIT license, Apache license, etc. ogg': The usual advice, as far as I have understood, is to give options to ffmpeg that make it ignore those errors and make it compute the DTS from the PTS. 10. o This causes make to continue even if rm is unable to remove a file. . h264 -c copy output-a. txt 2>&1 All timestamps in the input media file will be written out to a text file (which can then be parsed for errors). avi -c copy fixed. com> wrote: > Le quintidi 25 germinal, an CCXXII, Is there a way/command to have ffmpeg to either skip any corrupt > How do I disable certificate verification in ffmpeg for streaming to an RTMPS server? i. avi output. # 1. frames, the metadata is per fragment. Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company ffmpeg | branch: master | Karthick J <kjeyapal at akamai. In case of failure the global variable [FFmpeg-user] How to make FFMEPG ignore errors and keep encoding Chuck Love ztvqui1090 at gmail. The -ss flag will note sections to skip so it doesn't fail. mp4 -vcodec copy -an -bsf:v h264_mp4toannexb raw2. You can ignore it. ‘fatal, 8’ Only show fatal errors. ffmpeg -err_detect ignore_err -fflags +igndts -i "%%~fV" -f !ext! -codec:a copy -map 0 -map -0:v -map -0:s -b:a 32k "%%~pnxV. Here is a ffmpeg cheatsheet reference and a detailed howto, if you want to get deeper into ffmpeg. --- libavcodec/pthread_frame. com> wrote: > On Mon, May 22, 2017 at 12:31 AM, James Carter <matrixebiz at gmail. mp4" > _____ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg. txt is. all streams of unknown type; Of cause, I can do some awk scripting to construct a command like $ ffmpeg -hide_banner -ignore_unknown -i 'Easy Rider. m3u8 but the -err_detect ignore_err switch Use -loglevel quiet -stats. SPS and PPS are crucial in decoding an incoming frame/slice. The correct way is -filter:v:0 "scale=hd1080,hue=s=0". mkv -vcodec libx264 -vprofile high -crf 28 -c:v h264 demo. mp3 if no cover image exists in the metadata? Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) The -ss option allows you to skip to a certain point. Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company Theoretically you cannot skip frames for a compressed video stream, as most frames do not contain complete information about that frame's image, but only contain changes compared with some previous frames. Yes, I understand that the command tells me that the audio stream was not found. You command seems to suggest a FLV input file Can you run the source file through GSpot 2. txt file; Create a script that iterates through the . mp4 But now I got errors when I tried to convert a new mkv file. I want to trust any certificate, regardless of its validity, without throwing a TLS fatal alert. This message is often seen when the -ss option value is greater than the duration of the input. But the check is buggy. I will accept answer once command executed. With ffmpeg, the command is: ffmpeg -i input -c:v copy -c:a copy -movflags faststart output. What happens instead? Encoding stops. :3 The if also work in differents layouts like: if %%~j GTR 349 (case true ffmpeg transcode file mp4 ) else ( case false skip this file . null >result. g. Previous message (by thread): [FFmpeg-user] How to make FFMEPG ignore errors and keep encoding Next message (by thread): [FFmpeg-user] How to make FFMEPG ignore errors and keep encoding Messages sorted by: When I run FFMpeg from the command line like this ffmpeg. ffmpeg -i demo. Try to put those options before the input. -map V Finally, include all non-cover art video streams. FFmpeg outputs to stderr by default, so in Windows you'd do ffmpeg 2>NUL; on Cygwin or Linux/OS X/BSD, you'd do ffmpeg 2> /dev/null. If there is a better route to this, please let me know. Hello, I have tried it there as well. Please someone explain what is the difference between these options and which one is the best and future-proof. In order to capture output from ffmpeg, you need to be watching the stderr interface - or redirecting it like On Mon, May 22, 2017 at 12:31 AM, James Carter <matrixebiz at gmail. Is there a way to either skip those problematic parts, or to fix them? The exact e From ffmpeg manual: Run ffmpeg with the -loglevel quiet option. From the ffmpeg documentation:-n (global) Do not overwrite output files, and exit immediately if a specified output file already exists. 0+) where ffmpeg would bail if the trun box indicated that 0 samples were I use ffmpeg to livestream an Axis camera feed to youtube livestream. com> > wrote: > > > > > ffmpeg -i "myvideo. mp4" -err_detect ignore_err -c:a aac -ar 48000 -ab 64k -s 720x480 -vcodec libx264 -hls_time 240 myvideo. com> | Mon Dec 10 14:19:23 2018 +0800| [234926033097116a8dfab1e15d8cc1c04677f562] | committer: Steven Liu having some troubles with a warning spamming my FFmpeg console output, hoping someone can help. ffmpeg. Audio will misbehave! ffmpeg: Last message repeated 4 times ffmpeg: [decklink @ 0x26cc600] There are not enough buffered video frames. exactly. m3u8 'reconnect_delay_max' range is [0 - 4294] It worked Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company To ignore errors in a recipe line, write a -at the beginning of the line’s text (after the initial tab). ; v matches all video streams, and V only matches Using a bash function function ffmpeg { command ffmpeg -hide_banner "$@"; }; export -f ffmpeg instead of an alias has the advantage that you can use GNU Parallel directly (instead of using env_parallel) – Detailed Description. c_void_p. Alternatively, I think I did it right by following the guide on wiki but it didn't work Demo file The 1. After googling I found few FFMPEG options. nabble. every 5-10 seconds or more); so if it turns out that you joined a stream before the keyframe arrived; you will see this warning for every frame until a keyframe shows up. ts file if it fails(it is supposed to fail if the input video doesn't have subtitles in it). Better solutions would be: Do not write nonexisting files into your . mp3 -acodec copy test. 123:7060 -c:v copy out. You should get a utility which can ignore those portions and write the salvageable parts to a new file, like ddrescue. This patch "fixes" it by ignoring errors during draining (if there is a frame to be returned), but there is probably a deeper cause and/or a better fix for this. m3u8 -c copy -bsf:a aac_adtstoasc -safe 0 -protocol_whitelist file,http,http ffmpeg -i VID_1550287359485. import ctypes import io import os import sys import tempfile from contextlib import contextmanager import cv2 libc = ctypes. So "errors-dont-continue-on-next-video" just continues because it sees no errors. Thanks for contributing an answer to Stack Overflow! Please be sure to answer the question. To do it, i ran the following command: ffmpeg -i tcp://192. Previous message: [FFmpeg-cvslog] avfilter/lut3d: support 3DLUTSIZE directive for Davinci files. For example, if -ss 30 is used for a 15 second input you may see this message. There was a change made in Oct 2017 (ffmpeg 4. In other words, the common solutions also make ffmpeg alter the DTS time stamps. tmpsdvl" What it does-err_detect ignore_err and -fflags +igndts are some measures taken to power through some common errors;-i "%%~fV" is the full qualified path to my input, since I'm running a for loop; In other words, I want to exclude from conversion. avi This command detects and replaces all corrupted frames with the nearest good one. Now, if the file protocol is not the cause of errors, you can try. you can redirect stderr, like myprog 2>/dev/null, but that's not really, what you asked, right ? What you could do, prior to uploading, is move the moov file to the start of the video, it's more likely that the software only checks for the moov atom at the start of the file. – Asad I am trying to repair corrupted video stream files. Alternatively -loglevel error -stats will show errors "including ones which can be recovered from" and using -stats ensures the printing of the The problem I'm running into is that ffmpeg automatically detects data errors and truncates the video during conversion. However, ffmpeg does not tell us what errors count as "errors" in which codecs, and which errors are simply ignored. NET. Usage: $ ffmpeg -n -i input output. Make sure your -ss, -t, -to, and/or -frames value The problem I'm running into is that ffmpeg automatically detects data errors and truncates the video during conversion. h264 ffmpeg -framerate 24 -i raw2. A packet contains one or more encoded frames which belongs to a single elementary stream. To make it load the module from ffmpeg-python, the path that it's installed should come before the path printed from the above command, in your PYTHONPATH. com>: > > Hi all, just wondering if anyone knows of any other switches to > > Ignore live streaming source stream errors to 2017-05-25 14:55 GMT+02:00 James Carter <matrixebiz at gmail. Any other suggestions? Thank you On Sun, May 21, 2017 at 3:11 PM, Gyan <gyandoshi at gmail. (I am on Linux). mp3 -y test. mkv -c See ffmpeg -h full for the option list: The values are as follows: ignore_err: ignore decoding errors, and continue decoding. This is the correct use of the -debug_ts option (in Windows 7 64-bit):. So far I've been able to use a tee filter to achieve this and also using the onfail=ignore to make sure the pipeline stays up in the event of the RTMP/Recording failing. com Mon Oct 28 15:22:12 EET 2019. com> wrote: > > ffmpeg -i "myvideo. mp4 -map 0 -ignore_unknown -c copy video_repaired. I actually wanted to skip 3 seconds and source will be in minutes. Server admin execute the below command created by me and show me the errors: ffmpeg -ss 00:03:00 -i /video/1444107854. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. m3u8 > > but the -err_detect ignore_err switch doesn't seem to help that much > err_detect is an decoding option, so it goes before the input filename. mov - Skip to main content. ‘error, 16’ Show all errors, including ones which can be recovered from. c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) will show the ffmpeg module loaded by Python. mov When i ran this command, some errors appeared in console: https://prnt. ffmpeg -err_detect ignore_err -i video-with-broken-frames. ‘warning, 24’ Show all warnings and errors. It did not repeat the video like I expect. txt: Invalid data found when processing input I am attempting to download and convert an m3u8 stream to mp4 using ffmpeg. org > http://ffmpeg. mp4 That would move it to the start of the file. mp3 Fixing the issue with audio and video length Hi Mulvia, thanks for support, this reassures me, it scares me because I intend to send the video in loop (dash live with mp4box), could i ask to you about the command line, some suggestions for prepare to dash live stream, i see that the flags change a lot in less time, and the documents are not always upgraded, So I'm not sure, Thanks Massimo [FFmpeg-cvslog] doc/codecs: document ignore_err Michael Niedermayer git at videolan. org Sun May 4 13:36:58 CEST 2014. CDLL(None) c_stderr = ctypes. Example: ffmpeg -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2 -i input -c:v copy -c:a copy outputfile. See -map documentation for more info. – I am converting/scaling a video with ffmpeg and also exporting the audio stream to a single a option will be ignored): ffmpeg -f lavfi -i testsrc -c:v libx264 -map But I also had to include video, and include audio only if present/can be encoded without errors. Commented Jan The FFmpeg string. in_dll(libc, 'stderr') @contextmanager def stderr_redirector(stream): I've found that in Windows it is necessary to use the syntax `-f null NUL` otherwise ffmpeg complains `At least one output file must be specified`. In my project I need to read from a stream that sends live content in HLS format and then save this content locally in a specific folder appending this data from the previous record to the new ones Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company Thanks for contributing an answer to Stack Overflow! Please be sure to answer the question. Which is great! However, I don't want the RTMP to just give up if it were to drop or be disconnected, I'd like it to keep attempting to reconnect and resume the stream. Tried this: ffmpeg -err_detect ignore_err -i After googling I found few FFMPEG options. Global options should be specified first. So I used: -map "0:v" -map "0:a?" – alexkovelsky. mp4 File 'output. Provide details and share your research! But avoid . ffmpeg has no option to skip missing files. e. mp4 save the full path name) I am using ffmpeg on linux to record an rtsp stream from a cctv dvr. Sometimes the recording silently stops and ffmpeg just continues to run, and the only way I can detect this is that the output file size is not increasing, and if a progress file is specified, that stops being written too. Within each fragment's metadata, there is a track run box trun which has data for all samples within the fragment. For example, clean: -rm -f *. Here's a snippet from the terminal output: If theres a video file that is partially downloaded, how can you use ffmpeg to copy it and cut out all the incomplete and/or corrupt frames. Asking for help, clarification, or responding to other answers. com> wrote: > Le quintidi 25 germinal, an CCXXII, Is there a way/command to have ffmpeg to either skip any corrupt > A community for sharing and promoting free/libre and open-source software (freedomware) on the Android platform. I output to multiple files simultaneously while utilizing segmentation, to keep each part synchronized Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company Visit the blog The sample MP4 is fragmented and so instead of having a global index for samples i. You can just select the audio only by adding the -map 0:a option. The command I use is; ffmpeg -i "myvideo. mp4" -err_detect The command I use is; ffmpeg -i "myvideo. c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) It's a false positive in this case. , and software that isn’t designed to restrict you in any way. Would it be possible to change my bash script so it restarts automatically on error? This is my ffmpeg command, and I run it from a screen session: I've been using ffmpeg to convert mkv to mp4 and the following is the command I used. mp4" -err_detect ignore_err -c:a aac -ar 48000 -ab 64k > > -s 720x480 -vcodec libx264 -hls_time 240 The source is a live stream 24/7 and not an mp4? Do you still need a sample? What is top-posting? On Thu, May 25, 2017 at 2:35 PM, Carl Eugen Hoyos <ceffmpeg at gmail. In the lavf API this process is represented by the avformat_open_input() function for opening a file, av_read_frame() for reading a single packet and finally avformat_close_input(), which does the @Gyan Instead of using OpenCV, do you know if another library like ffmpeg-python, pyav or even using FFMpeg using subprocess could I suppress these messages? In the end, I just need frames grabs from a video as quickly as possible and not married to OpenCV since these message add addition process time. jpg How can I tell ffmpeg to just ignore streams if they don't exist and continue converting to . – Kristian Vitozev Commented Jul 20, 2015 at 11:36 How to stop it breaking your FFmpeg command? Try dropping in the fifo muxer in FFmpeg output, or using a Unix Named Pipe/FIFO pipe, thereby giving FFmpeg a permanent pipe destination, irrelevant of the state of your pipe consumer, thereby allowing you to restart the pipe consumer without affecting the FFmpeg encoder. -filter:v:0 scale=hd1080 -filter:v:0 hue=s=0 where only the hue would get applied. mp4 Extracting audio from video in mp3 format ffmpeg -i VID_1550287359485. file /path/to/file. ts But I am searching for a solution using ffmpeg's mapping facilities. exe -debug_ts -re -copyts -i file. m4v What is the expected result? ffmpeg should skip (e. ffmpeg -i kalimba. The -is discarded before the line is passed to the shell for execution. I want to ignore the second output stream burnt-video. Demuxers read a media file and split it into chunks of data (packets). Next message: [FFmpeg-cvslog] avcodec: add AV_EF_IGNORE_ERR Messages sorted by: Hi all, just wondering if anyone knows of any other switches to Ignore live streaming source stream errors to help ffmpeg not try and correct them which seems to cause ffmpeg to not do a good job with this which causes output issues?. See stream copy documentation for more info. I haven't looked closer at this, but was asked to send this patch for discussion. How to use that [onfail:ignore] option to achieve this? I have seen some answers earlier related to onfail option, but they are dealing with streaming only. About; By the way good caught for skip 3 min. Run the following commands from the folder with the video files in it-Create duplicate folder called correctedVideos to save everything in: Convert it: ffmpeg -i file. mp4 are cut from the same video so they have the same encoding Setup: @echo off @cd/d %~dp0 (for i'm trying to concatenate 2 videos in ffmpeg, using ffmpeg -y -f concat -safe 0 -i /path/to/mylist. So that if I have 20 corrupted frames at the start of a video - they will be replaced with 21st good one. Keyframes are sent periodically (i. Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company However, you're looking to have GCC basically treat these files as system headers, so you might try passing "-isystem /usr/local/ffmpeg" (or wherever you installed that package) to get GCC to ignore errors from files included in these directories as well. define a parameter first) defect frames. ffmpeg -err_detect ignore_err -i video. Video may misbehave! ffmpeg: [decklink @ 0x26cc600] There's no buffered audio. Do what @martineau said and redirect it to a null file descriptor. mp4' already exists. exe -hwaccel auto -re -i "C: getting errors from FFMpeg when spawned from . This -ignore_unknown? ffmpeg -i Video_corrupted. 70a and describe the encoding a bit more? This is not currently used for anything. that's why you can't do much about it (apart from building your own ffmpeg, and hacking into that) ofc. sc/r3ranr. mp4 and 2. mp4 file /path/to/file. Alternatively you could use -vn to disable any video streams, but I prefer -map as it is more flexible. I now have the following questions: Why does ffmpeg care about wrong timestamps at all when -codec copy is given That just means that ffmpeg has not seen a keyframe yet, which carries SPS and PPS information. ts # 2. qcex cdvaeb tfba pyif nzkcsm ktvnyea gnlsbw mje sxs zvhyv