I have some device which streams h264 video in following format: top half of picture is even lines of video, and bottom half of picture is odd lines of video. So the question is - how can I play this video in normal visibility, using standart players, ffplay for example. I know about "tinterlace:merge" plugin in ffmpeg, but it combines video from two pictures following one by one. So my task is make a correct video from single frame. Regards, Alexey.
How to play interlaced video, where even lines at top half of picture, and odd lines at bottom half?
920 views Asked by Pyih At
2
There are 2 answers
0
arash kordi
On
I recently had to deal with the exact same problem.
there are many different methods and the optimum solution completely depends on your situation,
the simplest fastest method is weaving two fields together which is perfect for immobile parts but create comb effect in moving object.
more complicated methods use motion detection methods.
what I did was merging two fields then applying Edge-Line averaging (ELA) for moving segments to reduce comb effect.
check this link for a detailed explanation of the problem
Related Questions in IMAGE-PROCESSING
- RuntimeError: Given groups=1, weight of size [64, 1, 3, 3], expected input[1, 3, 416, 416] to have 1 channels, but got 3 channels instead
- Unable to open shape_predictor_68_face_landmarks.dat
- When transferring mri t1 to mni152 spaces, the dimensions change and lose information, is that not a problem?
- How to detect the exact boundary of a Sudoku using OpenCV when there are multiple external boundaries?
- Nuke BlinkScript: Why does the convolution kernel scale down the image?
- CV2 Python - image merging based on homography matrix - error in mergeing
- Python pillow library text align center
- Implementing Image Processing for Dimension Measurement in Arduino-based Packaging System
- AI tools for generating clean clipping paths
- efficient way to remove a background from an image in python
- I want to segment an MRI image of the spine and obtain only the vertebrae using Matlab
- Find Gradient Magnitude using skimage.feature.hog module
- AR Image Display Issue
- Using python OpenCV to crop an image based on reference marks
- Python: Generating an image using Multiprocessing freezes
Related Questions in FFMPEG
- I need an azure product that executes my intensive ffmpeg command then dies, and i only get charged for the delta. Any Tips?
- Converting MP3/MP4 to WAV in the Frontend Using ffmpegwasm with Next.js Results in Module Not Found Error
- Get remote MKV file metadata using nodejs
- After using ffmpeg to remove some streams in mkv file, it takes much longer to open the media file in potplayer in Windows
- Implementing trim and fade filters with ffmpeg - MP3
- Merge Azure mp4 blobs via API (Preferred Azure)
- Overlaying frame number with ffmpeg
- Merge (concat) all video file present in '43. DP (Part1)' and put it into '43. DP (Part1)' and give name merged (concat) file to folder name
- I get an error when republishing the image I shot with ros2 run ffmpeg
- libav audio latency / cannot set audio_buffer_size
- An error occurred after encoding with h264_nvenc
- ffmpeg - excerpt from a large video file, preserving its additional streams
- Babel Loader error when using ffmpeg.wasm in CRA react app
- define the input FPS of a stream using ffmpeg-python
- NodeJS stream MKV as MP4 video
Related Questions in H.264
- Android mediacodec avc/h264 encoder always produces 1MB output buffer size
- Video Emulation solution
- Exoplayer does not play h264 mpeg-4 avc (part 10) codec in Android
- Client side H.264 (MP4) video compression/encoding
- Gstreamer Serial communication between 2 devices
- Decode h264 frame using android hardware accelerated decoder in gstreamer
- FFMPEG C Library: Encoding h264 stream into Matroska .mkv container creates corrupt files
- Adding h264 frames to mp4 file
- H264 data changing after serial communication in Python
- Extend Frame Size and Re-Encoding Video to be Blu-Ray Compliant with ffmpeg and tsMuxer
- Is there min size of IMFSample when ProcessInput?
- RTSP server on live555 start send client on I-Frame (h264)
- Python Handling H264 Frames for Live Stream from Eufy Server
- MediaCodec Async mode with NDK not triggering callback functions
- GstAppSink: Sharing between two pipelines
Related Questions in INTERLACING
- PicoDVI interlace generation
- Discrepancy Between Frame Count Using OpenCV's cv2.VideoCapture and Manual Counting in Python
- How exactly are DRM modes (or modelines) interpreted when interlaced?
- Pixelating an image over time and looping in Processing
- Interlacing for images
- Imagick::getImageInterlaceScheme is deprecated
- FFmpeg Idet with Timecode/Frame Number?
- Interlaced mpeg2 video with avenc_mpeg2video gstreamer
- HEVC/H.265 interlaced format support in ffmpeg or VLC
- How to remove intelacing effects from videos with ffmpeg
- Video Streaming | File Size | Progressive | Interlace | Others
- Media Foundation set video interlacing and decode
- why scan line of interlace is form middle point, and not horizontal?
- How to strip png images using ImageMagick?
- How can an Interlaced .png file's size be smaller than the original file?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
It would be good if you could provide a sample video file. You describe very well what the picture looks like, but the file may contain other information that is helpful for playback.
Furthermore, the format you describe doesn't sound like a standard format, so it's unlikely you will get a regular player to play it the way you want, out-of-the-box. If you're using ffplay, it's likely that you will have to write your own plugin to re-order the scanlines prior to displaying them.
Alternatively, you could re-encode the video into a standard format (interlaced or deinterlaced) using ffmpeg. You could then play it back in any regular player, like ffplay or VLC.
Finally, I recommend asking your question on the ffmpeg mailing list.